从Array()中间删除一个特定条目的最快方法是什么?
数组很大,有字符串.
我不想只设置Array [5] = null,而是将数组大小减少一个,而array [5]应该包含数组[6]的内容等.
没有任何基准来支持这一点,但人们会认为原生的Array.splice方法是最快的......
因此,要删除索引5处的条目:
array.splice(5, 1);
如果你不关心项目的排列顺序(只是想让它变得更短1),你可以在阵列的最后一个元素复制到索引中删除,然后弹出最后一个元素了.
array[index] = array[array.length-1]; array.pop();
如果你能够重新排序数组,我猜这会更快,CPU时间更快.
编辑:您应该根据具体情况进行基准测试; 我最近这样做了,拼接更快.(大概是因为Chrome实际上并没有将数组存储为单个连续缓冲区.)