Как стать автором
Обновить

Комментарии 8

Дал
Намного удобнее было бы использовать хэши, но их поддержка в JavaScript очень ограничена.

Это чем же?
Первая же запись заставляет задуматься:
var myArray = new Array();
myArray['one'] = 1;
myArray['two'] = 2;
myArray['three'] = 3;
А так?
var myArray = { one: 1, two: 2, three: 3 }
Так я и не понял, в чем автор испытывает затруднения.
А так неудобно и не всегда приемлимо.
Ну это уже совсем субъективно. Язык гибок, просто им нужно уметь пользоваться.
Проблема, собственно, вот в чём:
This approach would not work in Javascript because the length property of an associative array in javascript is not incremented for arrays with non-numeric keys and must otherwise be explicitly assigned.

Плюс, товарищ делает так:
for (var i in myArray) {
alert('key is: ' + i + ', value is: ' + eval('myArray.' + i));
}

Чего я не очень понимаю, ведь вместо eval('myArray.' + i) можно использовать myArray[i].

После идёт замечание о том, что у каждого объекта есть свойства по умолчанию и имя ключа в хэше может совпасть, что естественно собьёт результат.

Лично я думаю, что возможно обходиться и без специального класса. А кто-то думает иначе.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории