Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 06.08.2010, 13:44
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Массивы в JavaScript
Серия из 10 статеек о массивах в JavaScript.

UPD: Да, кстати, статейки мои, поэтому все вопросы можно сюда.

Последний раз редактировалось Kolyaj, 06.08.2010 в 14:25.
Ответить с цитированием
  #2 (permalink)  
Старый 06.08.2010, 14:21
Любитель
Отправить личное сообщение для JsLoveR Посмотреть профиль Найти все сообщения от JsLoveR
 
Регистрация: 16.12.2009
Сообщений: 422

у, интересно)
Ответить с цитированием
  #3 (permalink)  
Старый 06.08.2010, 14:29
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Я бы указал в статье на подводный камень, при клонировании массивов при помощи slice. Подмассивы так и останутся ссылками на объекты.

var array1 = [[1]];
var array2 = array1.slice(0);
array2[0][0] = 2;
alert(array1[0][0]);


Если бы клонировали, что-то вроде [{1}], то было бы более очевидно, а так массив, как массив, обычный двумерный, не задумываешься что подмассив тоже объект.
Ответить с цитированием
  #4 (permalink)  
Старый 06.08.2010, 14:30
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Octane,
да, нужно уточнить, спасибо.
Ответить с цитированием
  #5 (permalink)  
Старый 06.08.2010, 14:46
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

А еще можно создать массив с дефолтными значениями:
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));


Ответить с цитированием
  #6 (permalink)  
Старый 06.08.2010, 14:54
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Нее, про кодогенерацию это отдельную статью писать надо
Ответить с цитированием
  #7 (permalink)  
Старый 06.08.2010, 15:29
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

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)
Ответить с цитированием
  #8 (permalink)  
Старый 06.08.2010, 15:32
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

рони,
это перебор элементов с истинными значениями, а не существующих элементов. Для колорита добавьте в массив нулей ещё.
Ответить с цитированием
  #9 (permalink)  
Старый 06.08.2010, 16:15
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

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)
Ответить с цитированием
  #10 (permalink)  
Старый 06.08.2010, 16:17
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от рони
a[2] = undefined;
Вот эта строчка не просто так, элемент с индексом 2 существует, и равен undefined.

Сообщение от рони
добавил )))
Ну осталось null, false, '', как минимум.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Другой взгляд на javascript Дубров Олег Javascript под браузер 24 27.05.2017 09:15
Помогите с javascript andruhin Общие вопросы Javascript 12 04.05.2012 10:05
JavaScript на Яндекс.Фотки - почему тормозит браузеры? ZavFirefox Javascript под браузер 23 27.09.2009 19:24
Программист на JavaScript (удалённо) Vadym Работа 1 28.01.2009 13:57
Нужен Старший разработчик JavaScript Yandex Работа 17 19.08.2008 16:43