Mike_Ro
@Mike_Ro
Python, JS, WordPress, SEO, Bots, Adversting

SCSS получить следующий элемент массива?

Приветствую!

Имеется массив:
$arrayColors: (
        white,
        black,
        green,
        red,
        orange
);


Запускаю цикл и получаю ошибку
List index is 6 but list is only 5 items long for 'nth'
. Я понимаю, что он ругается на то, что не существует 6 элемента в массиве, но как тогда получать следующие элементы массива?
@each $color in $arrayColors {
      $realIndex: index($arrayColors, $color); // настоящий цвет
      $nextIndex: nth($arrayColors, ($realIndex + 1)); // следующий цвет
        .test-#{$realIndex} {
           color: $nextIndex;
        }
      }
}
  • Вопрос задан
  • 266 просмотров
Пригласить эксперта
Ответы на вопрос 2
sergski
@sergski
web-developer
По логике кода, вы берете первую позицию, увеличиваете на 1 и обращаетесь по этой позиции в списке. Ну логично он ругается. Зачем так делаете, т.е. какой вам css на выходе нужен?
Ответ написан
@for $i from 1 through length($arrayColors) { ... }

проверять длину и использовать $i в nth()
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы