Массивы в JavaScript
Серия из 10 статеек о массивах в JavaScript.
UPD: Да, кстати, статейки мои, поэтому все вопросы можно сюда. |
у, интересно)
|
Я бы указал в статье на подводный камень, при клонировании массивов при помощи slice. Подмассивы так и останутся ссылками на объекты.
var array1 = [[1]]; var array2 = array1.slice(0); array2[0][0] = 2; alert(array1[0][0]); Если бы клонировали, что-то вроде [{1}], то было бы более очевидно, а так массив, как массив, обычный двумерный, не задумываешься что подмассив тоже объект. |
Octane,
да, нужно уточнить, спасибо. |
А еще можно создать массив с дефолтными значениями:
var array = JSON.parse("[" + new Array(100).join("0,") + "]");
alert(array.toSource(1));
Или двумерный массив:
var array = JSON.parse("[[" + new Array(100).join("],[") + "]]");
alert(array.toSource(1));
:D |
Нее, про кодогенерацию это отдельную статью писать надо :)
|
Kolyaj,
Вариант перебора только существующих элементов
var a = [1, 2, , , 3, , 5];
a[2] = undefined;
var props = '';
for (var i = 0; i < a.length; i++) {
a[i]&&(props += a[i] + ' ');
}
alert(props)
|
рони,
это перебор элементов с истинными значениями, а не существующих элементов. Для колорита добавьте в массив нулей ещё. |
Kolyaj,
добавил )))
var a = [1, 2, , 0, 3, , 5,0];
a[2] = undefined;
var props = '';
for (var i = 0; i < a.length; i++) {
(a[i]||a[i]==0)&&(props += a[i] + ' ');
}
alert(props)
|
Цитата:
Цитата:
|
| Часовой пояс GMT +3, время: 17:03. |