Javascript.RU

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

Ну я же выше объяснил.
Ответить с цитированием
  #12 (permalink)  
Старый 05.02.2010, 10:07
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

Там написано, что так сделано в ECMA и что все как зомби должны повторять, я же хочу понять, почему в ECMA так сделали. На мой взгляд, методы числовых массивов должны работать с ними именно как с числовыми массивами, а не как с ассоциативными, это довольно логично звучит, но в ECMA какая-то другая логика, вот ее я и хочу понять.
Ответить с цитированием
  #13 (permalink)  
Старый 05.02.2010, 10:13
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

forEach/map/... перебирают элементы массива. В твоём примере в массиве только один элемент под индексом 5. Вот если бы ты написал
arr = [];
arr[0] = undefined;
arr[1] = undefined;
// ...
arr[4] = undefined;
arr[5] = 'TEXT';
alert(
    arr.reduce(function(a, n) {
        return a + n;
    }, '')
);
Всё логично, перебираются элементы массива, если элемента нет, то нет.
Ответить с цитированием
  #14 (permalink)  
Старый 06.02.2010, 08:10
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

Сообщение от Kolyaj
В твоём примере в массиве только один элемент под индексом 5
если в этой фразе слово "массив" заменить на объект/ассоциативный массив/range-объект/коллекция, то я бы согласился с ней, однако пока речь идет о числовом массиве, элементов шесть и не меньше.
Ответить с цитированием
  #15 (permalink)  
Старый 07.02.2010, 01:55
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

ну, в защиту Riim, можно сказать, что arr.length == 6

только это не логика, это соглашение Разработчики решили, что в числовых массивах могут быть пропущены элементы
Ответить с цитированием
  #16 (permalink)  
Старый 20.02.2010, 03:02
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

Сообщение от Octane
ненавижу, когда скобочки изнутри пробелами отбивают
кстати, нету у меня такого правила. Сложно объяснить, но вместо такого
if ( filter( el, i ) ) {

или такого
if(filter(el,i)){

я предпочту что-то типа
if( filter(el, i) ){
Ответить с цитированием
  #17 (permalink)  
Старый 20.02.2010, 09:35
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

А надо бы
if (filter(el, i)) {
Ответить с цитированием
Ответ



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

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