Как проверить существование определённого индекса в массиве?
Есть массив, индексы в котором не от 0 и до ..., а могут быть совершенно любые: 1, 4, 10, 1356, при этом в массиве всего четыре элемента, но вот с такими индексами. Как проверить существует ли в массиве индекс, например, 10?
Ответы (2 шт):
Автор решения: Artem Gabidov
→ Ссылка
const arr = [1, , 3, 76, , , 34, ];
for(let i in arr) {
console.log(i + ':' +arr[i]);
}
Может это поможет
Автор решения: vsemozhebuty
→ Ссылка
В таком случае лучше использовать объект или Map, потому что массивы с непоследовательными индексами в JS работают неоптимально и это противоречит их назначению. Но если без этого не обойтись, можно использовать оператор in:
const array = [];
array[10] = 'foo';
console.log(0 in array); // false
console.log(10 in array); // true