不要使用splice进行数组的操作!!
程序员文章站
2024-02-29 22:34:52
...
最近在给军工项目进行三维开发,对数组操作不可谓之多,最影响效率的数组操作即是splice操作
首先说一下什么是数组的splice
他可以删除数组某几个成员,也可以在任意位置插入或替换成员(替换成员原理是先删除后插入)
eg:
let arr = [{a: 1},{b:2},{c:3}]
arr.splice(1,1) // splice会修改原数组,影响效率原因后面说
// 结果arr:[{a: 1},{c:3}]
*********************替代方案*************************
let arr = [{a: 1},{b:2},{c:3}]
arr = arr.slice(0,1).concat(arr.slice(2))
// 结果arr:[{a: 1},{c:3}]
-------------------------------------------------------
对于插入来讲也是一样
let arr = [{a: 1},{b:2},{c:3}]
arr.splice(1,1,{d,4}) // splice会修改原数组,影响效率原因后面说
// 结果arr:[{a: 1},{d,4},{c:3}]
*********************替代方案*************************
let arr = [{a: 1},{b:2},{c:3}]
arr = arr.slice(0,1).concat({d,4},arr.slice(2))
// 结果arr:[{a: 1},{d,4},{c:3}]
其他参考https://zswfx.com/articles/5da713302ddd022595ff506a
上一篇: JAVA线程同步实例教程