当前位置:  开发笔记 > 编程语言 > 正文

从Array()中间删除一个条目的最快方法

如何解决《从Array()中间删除一个条目的最快方法》经验,为你挑选了2个好方法。

从Array()中间删除一个特定条目的最快方法是什么?

数组很大,有字符串.

我不想只设置Array [5] = null,而是将数组大小减少一个,而array [5]应该包含数组[6]的内容等.



1> kkyy..:

没有任何基准来支持这一点,但人们会认为原生的Array.splice方法是最快的......

因此,要删除索引5处的条目:

array.splice(5, 1);


还要记住,除非你向后运行,否则在运行它时删除数组中间的东西会造成严重破坏.
对于任何关心被删除的特定条目的值的人,请记住`splice`返回一个数组,所以你需要`array.splice(5,1)[0];`
请注意,这也适用于JavaScript.

2> Jesse Rusak..:

如果你不关心项目的排列顺序(只是想让它变得更短1),你可以在阵列的最后一个元素复制到索引中删除,然后弹出最后一个元素了.

array[index] = array[array.length-1];
array.pop();

如果你能够重新排序数组,我猜这会更快,CPU时间更快.

编辑:您应该根据具体情况进行基准测试; 我最近这样做了,拼接更快.(大概是因为Chrome实际上并没有将数组存储为单个连续缓冲区.)

推荐阅读
云聪京初瑞子_617
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有