JS刪除數(shù)組中某個(gè)元素的四種方式總結(jié)
第一種:刪除最后一個(gè)元素
slice 刪除
var arr = [1,2,3,4,5] var new_arr = arr.slice(0, -1) // arr => [1,2,3,4,5] // new_arr => [1,2,3,4] var arr = [1,2,3,4,5] var new_arr = arr.slice(0, arr.length - 1) // arr => [1,2,3,4,5] // new_arr => [1,2,3,4]
splice 刪除
var arr = [1,2,3,4,5] var new_arr = arr.splice(-1) // arr => [1,2,3,4] // new_arr => [5] var arr = [1,2,3,4,5] var new_arr = arr.splice(-1, 1) // arr => [1,2,3,4] // new_arr => [5] var arr = [1,2,3,4,5] var new_arr = arr.splice(arr.length - 1) // arr => [1,2,3,4] // new_arr => [5] var arr = [1,2,3,4,5] var new_arr = arr.splice(arr.length - 1, 1) // arr => [1,2,3,4] // new_arr => [5]
pop 刪除
var arr = [1,2,3,4,5] arr.pop() // arr => [1,2,3,4]
for 刪除
var arr = [1,2,3,4,5]
var new_arr = []
for (let i = 0, len = arr.length; i < len; i++) {
if (i < len - 1) {
new_arr.push(arr[i])
}
}
// arr => [1,2,3,4,5]
// new_arr => [1,2,3,4]length 刪除
var arr = [1,2,3,4,5] arr.length = arr.length - 1 // arr => [1,2,3,4]
第二種:刪除第一個(gè)元素
slice 刪除
var arr = [1,2,3,4,5] var new_arr = arr.slice(1) // arr => [1,2,3,4,5] // new_arr => [2,3,4,5]
splice 刪除
var arr = [1,2,3,4,5] var new_arr = arr.splice(0, 1) // arr => [2,3,4,5] // new_arr => [1]
shift 刪除
var arr = [1,2,3,4,5] arr.shift() // arr => [2,3,4,5]
第三種:刪除數(shù)組中某個(gè)指定元素
filter 刪除
var arr = [1,2,3,4,5],
element = 2
arr = arr.filter(item => item != element)
// arr => [1,3,4,5]splice 刪除
var element = 2,
arr = [1,2,3,4,5]
arr.splice(arr.indexOf(2), 1)
// arr => [1,3,4,5]forEach、map、for 刪除
var arr = [1,2,3,4,5],
element = 2,
new_arr = []
arr.forEach(item => (item != element && new_arr.push(item)))
// new_arr => [1,3,4,5]
// map 同理
var arr = [1,2,3,4,5],
element = 2,
new_arr = []
for (let i = 0; i < arr.length; i++) {
arr[i] != element && new_arr.push(arr[i])
}
// new_arr => [1,3,4,5]set 刪除
var arr = [1,2,3,4,5],
element = 2
var new_set = new Set(arr)
new_set.delete(element)
var new_arr = [...new_set]
// new_arr => [1,3,4,5]第四種:刪除數(shù)組中指定下標(biāo)的元素
splice 刪除
var delete_index = 2 var arr = [1,2,3,4,5] // arr => [1,2,3,4,5] var new_arr = arr.splice(delete_index, 1) // new_arr => [3] // arr => [1,2,4,5]
for 刪除
var delete_index = 2,
arr = [1,2,3,4,5],
new_arr = []
for (let i = 0, len = arr.length; i < len; i++) {
if (i != delete_index) {
new_arr.push(arr[i])
}
}
// arr => [1,2,3,4,5]
// new_arr => [1,2,4,5]注意:
1. 不可以使用 delete 方式刪除數(shù)組中某個(gè)元素,此操作會(huì)造成稀疏數(shù)組,被刪除的元素的位置依然存在,為 empty,且數(shù)組的長度不變。
2. 不可以使用 forEach 方法比對(duì)數(shù)組的下標(biāo)值,因?yàn)?forEach 在循環(huán)的時(shí)候是無序的。
總結(jié)
到此這篇關(guān)于JS刪除數(shù)組中某個(gè)元素的四種方式的文章就介紹到這了,更多相關(guān)JS刪除數(shù)組某個(gè)元素內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
JavaScript實(shí)現(xiàn)音樂自動(dòng)切換和輪播
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)音樂自動(dòng)切換和輪播效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-11-11
基于JS實(shí)現(xiàn)無縫滾動(dòng)思路及代碼分享
無縫滾動(dòng)效果在各大網(wǎng)站都有這樣的需求,應(yīng)用非常廣泛,下面小編給大家分享基于JS實(shí)現(xiàn)無縫滾動(dòng)思路及代碼,非常不錯(cuò)具有參考借鑒價(jià)值,感興趣的朋友一起看下吧2016-06-06
BootStrap框架中的data-[ ]自定義屬性理解(推薦)
這篇文章主要介紹了BootStrap框架中的data-[ ]自定義屬性理解(推薦),非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-02-02
JavaScript+html5 canvas制作的圓中圓效果實(shí)例
這篇文章主要介紹了JavaScript+html5 canvas制作的圓中圓效果,結(jié)合完整實(shí)例形式分析了基于JavaScript與html5 canvas技術(shù)實(shí)現(xiàn)的圖形繪制與顏色隨機(jī)填充技巧,需要的朋友可以參考下2016-01-01
javascript實(shí)現(xiàn)的鼠標(biāo)鏈接提示效果生成器代碼
javascript實(shí)現(xiàn)的鼠標(biāo)鏈接提示效果生成器代碼...2007-06-06

