У меня есть набор элементов: var treeItems = [];
. treeItems.length
возможно 5-30 (может быть, 50), но каждый treeItem
- довольно большой объект. Я должен сделать оба: итерации через пункты & получить элемент по id.ES6 Стоимость итерации карты
Я рассматриваю возможность замены массива на es6 Map
. И для итерации через использование карты: Array.from(treeItemsMap.values())
операция.
Вопрос: Какова стоимость (время/память) Array.from(map.values())
?
P.S. Я делаю SPA для мобильных устройств, поэтому использование памяти также существенно.
Довольно широкий вопрос, но я бы не использовал 'Array.from' для итерации, поскольку вы каждый раз создавали новый массив -' for..of', вероятно, был бы более уместным. Являются ли ваши идентификаторы не последовательными или являются только индексами? – CodingIntrigue
Почему не только структура данных вроде этого {tree_item_id: tree_item, ...}; O (1) –
@ elio.d да, это именно то, что я хочу сделать –