基本上标题说的是:我希望能够调用.map反向数组,但我担心它会太慢,因为我必须多次执行此操作。
我知道以下方法有效:
let arr = [1, 2, 3, 4, 5];
let rev_wrapped = arr.slice(0).reverse().map(item => `wrapped: ${item}`);
Run Code Online (Sandbox Code Playgroud)
结果rev_wrapped是:
[
'wrapped: 5',
'wrapped: 4',
'wrapped: 3',
'wrapped: 2',
'wrapped: 1'
]
Run Code Online (Sandbox Code Playgroud)
我想知道是否有更快的方法来做到这一点,因为.reverse()完全反转数组,而我只需要以相反的顺序读取数据。
如果这是不可能的,我也可以使用一种数据结构,它允许我在开始时插入元素而无需太多的计算成本(因为类似的东西arr.splice(0,0,new_item)会在每次插入时完全重新排列数组)。