【发布时间】:2019-05-07 05:46:07
【问题描述】:
我想知道将可迭代对象(例如 MapIterator)转换为数组的时间复杂度是多少。 假设我有这个代码:
const Component = ({ map }) => {
return (
<Fragment>
{Array.from(map.values()).map(item => <div key={item.key}>{item.name}</div>)}
</Fragment>
)
}
每个 Array.from() 的时间复杂度是多少,是我想的 O(n) 还是因为它的 MapIterator 以某种方式更快地从类数组转换为数组。
我的用例是我想将项目(需要访问的)保存为性能问题的映射,但我必须将它们作为数组运行。
出于这个问题的目的,我可以保存状态或使用选择器或类似的东西
你们觉得呢?
【问题讨论】:
-
如果您关心性能,最好不要将任何内容转换为数组,只需将数据作为可迭代对象处理,将所有处理逻辑直接应用于可迭代对象。这是一个可以处理的库 - iter-ops.
标签: javascript performance ecmascript-6 time-complexity iterable