Может ли кто-нибудь превратить эту функцию в рекурсивную общую функцию, чтобы я мог использовать ее для получения комбинаций для n
количества размеров?
Это то, что у меня есть в настоящее время, и оно работает только до $size: 2
@function combinations($list, $size, $separator: comma){
$result: null;
@each $item in $list {
@if ($size == 1) {
$result: append($result, #{$item}, $separator);
} @else {
@each $val in $list {
$result: join($result, #{$item}#{$val}, $separator);
}
}
}
@return $result;
}
$list: a, b, c;
test {
val: combinations($list, 2);
}
Выход на размер: 1
a, b, c
Выход на размер: 2
a, b, c, aa, ab, ac, ba, bb, bc, ca, cb, cc
Но мне нужно это, чтобы продолжить с $size: n
и n <= length($list)