Если у меня есть массив в Javascript, который был заполнен спорадически, как определить количество элементов, не содержащих ничего в массиве?Как определить количество определенных элементов в массиве?
, например:
var zipCodes = [];
zipCodes[10006] = 'New York, NY';
zipCodes[90210] = 'Los Angeles, CA';
zipCodes.length возвращает 90,211 здесь, и я действительно не хочу, чтобы перебрать 90,209 бездельников, чтобы выяснить, у меня есть два действительных элементов. Использование цикла for-in означает обращение ко всему, что может вызвать пузырьки цепи прототипов и попытка выяснить, является ли это частью этого массива.
Есть ли какой-либо путь, учитывая массив, определенный выше, я могу извлечь «2» в качестве числа определенных элементов?
Я считаю, что у вас есть ваши скобки объекта/массива обращаются в объявлениях переменных. –
+1 для первого подхода, -1-секундный подход мало смысла. Я бы не стал беспокоиться о бизнесе hasOwnProperty, если у вас есть код, который возится с прототипом базового объекта, избавиться от него pronto. – AnthonyWJones
@AnthonyWJones, вы не всегда имеете полный контроль над кодом. Особенно, когда вы используете сторонние библиотеки, такие как MooTools или Prototype.js, поэтому я просто привык к этой проверке. Кроме того, ОП конкретно сказал, что цепочка прототипов будет проблемой. –