Comments 7
Мне кажется, заголовок не совсем отражает суть статьи.
Само состояние приложение — оно как раз усложняется. А что упрощается — так это его это «менеджемент».
Само состояние приложение — оно как раз усложняется. А что упрощается — так это его это «менеджемент».
Объект предпочтительнее массива? Если под объектом понимается объект какого-то класса, с работающими методами и пр., то да, функциональность его выше. Но в приведенном авторе примере я не вижу отличий — есть массив (с нумерованными ключами), а есть ассоциативный массив, который используется во многих языках программирования. А если речь идет о JavaScript, то в нем массивы являются именно объектами (со свойствами length, определенными методами и др) Не совсем непонятно что именно автор хотел этим сказать. И о каком преимуществе идет речь?
miss_dead, речь про хеш-таблицы (ассоциативные массивы, если угодно). В js объект — это хеш-таблица. Есть объект Map в ES6, но почему-то автор решил использовать чистые объекты.
Преимущество в скорости доступа O(1), да и в удобстве тоже.
Массив предполагает работу через индексы или через итерирование, а это уже O(n).
А если вы будете работать с массивом как с хеш-таблицей, это будет выглядеть странно.
Преимущество в скорости доступа O(1), да и в удобстве тоже.
Массив предполагает работу через индексы или через итерирование, а это уже O(n).
А если вы будете работать с массивом как с хеш-таблицей, это будет выглядеть странно.
Мар это класс с методами, а state должен быть сиреализированим. Мар в этом случае не заедет.
Array.from() в помощь.
Sign up to leave a comment.
Как избежать излишней сложности состояния приложения [перевод]