最近在給軍工項目進行三維開發,對數組操作不可謂之多,最影響效率的數組操作即是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