當在迴圈陣列中,刪掉某個元素的時候,不要使用splice方法。
因為splice會使原陣列發生變化,而此時陣列還處在迴圈中,所以會出現問題。
例子:有個陣列 formdata ,需求:刪除formdata的itemlist中,queid === 『001』的一項。
我最開始使用的是splice方法,但是報錯了:
for(let i = 0; i < this.formdata.itemlist.length; i++)}
遇到有需要迴圈陣列來刪除陣列資料的情況,這樣做:
let formarr =for(let i = 0; i < this.formdata.itemlist.length; i++) )
}}
最後得到的formarr 就是刪掉那個資料的陣列解釋 formarr.push()
這裡是的意思是將item複製了乙份,傳給formarr,因為之後formarr可能會對item有所操作,如果是直接push item的話,跟之前的item的引用位址是一樣的,可能會出現問題。嗯。
注意,這個複製是item只有一層的時候。如果不止一層,需要用clonedeep
splice 陣列刪除方法
splice增加資料到陣列 arr.splice 2,0,item 這句話中第乙個2指的是從arr 2 開始,0指刪除0個資料,item指插入資料為item arr.splice 2,1 這句話中第乙個2指的是從arr 2 開始,1指刪除1個資料 元素描述 index 必需。規定從何處新增 刪除元素...
迴圈下splice刪除多個陣列索引項
我的需求是陣列選擇刪除掉相應資料,後台需要我返回字串連線的資料,替換修改。el checkbox group v model checklist change handlecheckedcitieschange el checkbox label index v for item,index in ...
splice 陣列刪除增加方法
splice增加資料到陣列 arr.splice 2,0,item 這句話中第乙個2指的是從arr 2 開始,0指刪除0個資料,item指插入資料為item arr.splice 2,1 這句話中第乙個2指的是從arr 2 開始,1指刪除1個資料 元素描述 index 必需。規定從何處新增 刪除元素...