Массивы в 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, время: 15:45. |