Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Пустые элементы массива (https://javascript.ru/forum/misc/9572-pustye-ehlementy-massiva.html)

lammeR 25.05.2010 01:51

Пустые элементы массива
 
Доброй ночи всем!
Люди, возможно мой вопрос покажется тупым, но , всё же:
я получаю массив mass, его длина mass.length=6, а целочисленных элементов там 4, нулевой и пятый элементы пустые, то есть mass=,8,0,2,,9 пустые, подскажите как можно удалить эти пустые области если заранее не известно , где они образуются(пустые области) ?

with-love-from-siberia 25.05.2010 02:07

var origin = [, 8, 0, 2, , 9];

var result = [];
for (var i = 0; i < origin.length; i++) {
	if ( i in origin ) {
		result.push(origin[i]);
	}
}

alert('origin = ' + origin);
alert('result = ' + result);

lammeR 25.05.2010 02:11

with-love-from-siberia,
Пасиб, я сам уже сделал)

JsLoveR 25.05.2010 02:18

with-love-from-siberia,
Я бы ещё проверочки на null и undefined сделал)

with-love-from-siberia 25.05.2010 02:37

JsLoveR,
i in origin - это и есть проверка на undefined. null может иметь смысл - все зависит от самой задачи. Речь идет о пропусках в "разреженном" массиве. С удалением null-значений автор может справится сам.

Octane 25.05.2010 02:59

Цитата:

Сообщение от with-love-from-siberia
i in origin - это и есть проверка на undefined

var array = [undefined];
alert(0 in array);


Вообще, как заметил with-love-from-siberia, необходимость игнорирования примитивных значений undefined и null зависти от конкретной задачи.


Часовой пояс GMT +3, время: 16:05.