Скажем, у меня есть список Sass:Как удалить все остальные предметы из списка Sass?
$list: 1, red, banana, gold, [class*="test"], potato
Как я могу удалить каждый 1-й, 3-й, 5-й пункт и т.д.? Или, альтернативно, каждый 2-й, 4-й, 6-й и т. Д.? Возможно ли это?
Я решил, что вам нужно будет пройти через каждый селектор, проверить, не является ли он индексом/четным, и удалите элемент по мере необходимости.
Мой псевдокод:
@each $item in $list {
@if $item == nth($list, 2n) {
$list: remove($list, $item);
}
}
В качестве не программиста, я не уверен, как логические выше sinppet это - при условии, конечно remove()
является действительной функцией, и «2n» представляет любой даже пункт.
Удивительно. Все еще пытаюсь обвести вокруг себя голову, но она действительно работает. Для любого потенциального чтения новичков, чтобы заставить это выводить только EVEN-номера, измените '$ i: 0;' на '$ i: 1' –
Рад, что это может помочь. Процесс работает, создавая счетчик '$ i' и каждый раз увеличивая его на единицу. Каждый раз, когда он набирает определенный номер (в этом примере: 2), он сбрасывает счетчик, но если число не выполняется, оно будет добавляться в список. Это немного грубая альтернатива, но SASS имеет тенденцию быть довольно ограниченным в этой области на данный момент. – BurpmanJunior