var primes=[2,3,5,7]
primes.sync = function(){this[0]=23;}
primes // => [2, 3, 5, 7]
primes.sync()
primes // => [23, 3, 5, 7]
Это, кажется, отлично работает в Chrome.Прикрепление функции к массиву
Есть ли причины не использовать этот синтаксис/«особенность»? Кроме того, могу ли я рассчитывать на primes
, чтобы вести себя как обычный массив (например, при передаче его функции, ожидающей массив)?
Вот почему я хочу использовать:
Скажем, у меня есть в моей программе в peopleList
. Функции во всем приложении будут использовать его как массив. Затем, внезапно, я делаю POST на сервере. Затем я хочу, чтобы массив запрашивал сервер напрямую и сам обновлялся. Это позволило бы использовать очень элегантный код в моем приложении angular.js.
и так же следует избегать циклов for-in для итерации массива. Нет гарантии по порядку возврата ключей. –
@MattGreer: Согласен. – user2736012
I ** всегда ** использовать '.forEach' или' .map' - это функциональный способ сделать это. 'for-in' уже опасен для меня, так как я использую' sugar.js' (который, кстати, является удивительной библиотекой) – kornfridge