Как пропускать ненужные индексы?

290
20 февраля 2017, 19:19
var a  = 0; 
label = a++;

Он добавляет индекс от нуля и попорядку 1,2,3 и тд.тп а если мне надо пропустить индексы 3 5 ,10, 34 ну или ещё какието ...Как такое сделать ?писать по одному это неправильно как то

Answer 1

let i = 0; 
 
if(![3 5 ,10, 34].includes(i + 1)) 
  i++;

Answer 2

Для примера, можно определить массив индексов, которые Вы хотите пропустить, затем уже, будь то цикл или рекурсивная функция - делаете, что Вам нужно, пример:

var arr = [1, 5, 7]; // массив индексов 
     
for (var i = 0; i < 10; i++) { 
    if (arr.indexOf(i) >= 0) {  // проверяем, есть элемент в нашем массиве индексов? 
        alert(i + ' - Элемент содержится'); 
        continue; // прекратить текущую итерацию и начать новую 
    } 
    alert(i + ' - Элемент отсутствует'); 
}

Для проверки, содержится ли элемент в массиве можно использовать как indexOf, так и includes. Можно и findValue, но это менее удобно, пример как идея, способов много.
Запись arr.indexOf(i) >= 0 эквивалентна записи arr.includes(i).

READ ALSO
Работает визуальный редактор на JS?

Работает визуальный редактор на JS?

Как здесь на стаке сделано или многих форумахПишу текст, потом выделяю одно слово и нажимаю кнопку B или добавление ссылки и жирным или ссылкой...

273
Получить JSON ответ

Получить JSON ответ

Работаю с API Yandex

401
Тесты React компонентов. Mocha, Enzyme. Не проходят тесты

Тесты React компонентов. Mocha, Enzyme. Не проходят тесты

Использую Mocha, тесты EnzymeПроект большой довольно таки и тесты пишутся(как обычно бывает) в самом конце, рефакторинг так сказать

389