js數(shù)組刪除問題(splice和delete的用法)
js數(shù)組刪除問題
用到了數(shù)組的刪除,分別使用了splice和delete方法,記錄一下,方便下次查找。
原數(shù)組是一個關(guān)聯(lián)數(shù)組,如
var test=[]; test[1]={name:'1',age:1}; test[2]={name:'2',age:2}; test[4]={name:'3',age:3}; console.log(test)
長度為5的關(guān)聯(lián)數(shù)組,現(xiàn)在開始刪除。
1.splice方法
test.splice(2,1); console.log(test)// 打印結(jié)果如下
ps:數(shù)組長度相應(yīng)改變,但是原來的數(shù)組索引也相應(yīng)改變,splice參數(shù)中第一個2,是刪除的起始索引(從0算起),在此是數(shù)組第二個元素。第二個1,是刪除元素的個數(shù),在此只刪除一個元素,即test[2];
此時遍歷數(shù)組元素可以用普通遍歷數(shù)組的方式,比如for,因為刪除的元素在數(shù)組中并不保留。
2.delete方法
delete test[2]; console.log(test);// 打印結(jié)果如下
ps:這種方式數(shù)組長度不變,此時test[2]變?yōu)閡ndefined了,好處是原來數(shù)組的索引也保持不變,此時要遍歷數(shù)組元素可以才用。這種遍歷方式跳過其中undefined的元素,所以非常實用。
for(i in test) { console.log(test[i]) } //打印結(jié)果如下:
js數(shù)組刪除方式 delete 與 splice區(qū)別
js的數(shù)組刪除方式有兩種:
1.delete (刪除之后,數(shù)組的長度不發(fā)生變化。如圖所示:刪除一條數(shù)據(jù)后長度還是2)
var array = ["/profile/upload/2022/07/25/OIP-C_20220725151518A011.jpg"? ,? ?"/profile/upload/2022/07/25/OIP-C_20220725151518A003.jpg"] delete array[0]
2.splice (刪除之后,數(shù)組的長度也發(fā)生變化。如圖所示:刪除一條數(shù)據(jù)后長度變?yōu)?)
var array = ["/profile/upload/2022/07/25/OIP-C_20220725151518A011.jpg"? ,? "/profile/upload/2022/07/25/OIP-C_20220725151518A003.jpg"]
splice(0,1);括號中的第一個'0'數(shù)字是起始位置,后一個數(shù)字'1'是需要刪除的長度
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
JSP跨iframe如何傳遞參數(shù)實現(xiàn)代碼
表單與操作頁面分離,按鈕按下,click 或者onclick事件觸發(fā),傳遞一個唯一性的參數(shù)至子頁面JSP,感興趣的朋友可以了解下2013-09-09Js+Ajax,Get和Post在使用上的區(qū)別小結(jié)
下面小編就為大家?guī)硪黄狫s+Ajax,Get和Post在使用上的區(qū)別小結(jié)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-06-06javascript 延遲加載技術(shù)(lazyload)簡單實現(xiàn)
延遲加載技術(shù)(簡稱lazyload)并不是新技術(shù), 它是js程序員對網(wǎng)頁性能優(yōu)化的一種方案.2011-01-01