JS 刪除陣列中某個元素的幾種方式

2021-10-04 16:32:32 字數 3237 閱讀 1077

目錄

第一種:刪除最後乙個元素

pop 刪除

slice 刪除 

splice 刪除

for 刪除

length 刪除

第二種: 刪除第乙個元素

shift 刪除

slice 刪除

splice 刪除

第三種:刪除陣列中某個指定下標的元素

splice 刪除

for 刪除

第四種:刪除陣列中某個指定元素的元素

splice 刪除

filter 刪除

foreach、map、for 刪除

set 刪除

var arr = [1,2,3,4,5]

arr.pop()

// arr => [1,2,3,4]

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]

var arr = [1,2,3,4,5]

var new_arr = arr.splice(-1)

// arr => [1,2,3,4]

// new_arr => [5]

var = [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]

var arr = [1,2,3,4,5]

var new_arr =

for (let i = 0, len = arr.length; i < len; i++)

}// arr => [1,2,3,4,5]

// new_arr => [1,2,3,4]

var arr = [1,2,3,4,5]

arr.length = arr.length -1

// arr => [1,2,3,4]

var arr = [1,2,3,4,5]

arr.shift()

// arr => [2,3,4,5]

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]

var arr = [1,2,3,4,5]

var new_arr = arr.splice(0, 1)

// arr => [2,3,4,5]

// new_arr => [1]

var delete_index = 2

var arr = [1,2,3,4,5]

var new_arr = arr.splice(delete_index, 1)

// arr => [1,2,3,4,5]

// new_arr => [1,2,4,5]

var delete_index = 2,

arr = [1,2,3,4,5],

new_arr =

for (let i = 0, len = arr.length; i < len; i++)

}// arr => [1,2,3,4,5]

// new_arr => [1,2,4,5]

注意:

1. 不可以使用 delete 方式刪除陣列中某個元素,此操作會造成稀疏陣列,被刪除的元素的為位置依然存在為empty,且陣列的長度不變

2. 不可以使用 foreach 方法比對陣列下標值,因為 foreach 在迴圈的時候是無序的

var element = 2,

arr = [1,2,3,4,5]

arr.splice(arr.indexof(2), 1)

// arr => [1,3,4,5]

var arr = [1,2,3,4,5],

element = 2

arr = arr.filter(item => item != element)

// arr => [1,3,4,5]

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, len = arr.length; i++)

// new_arr => [1,3,4,5]

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]

js刪除陣列的某個元素

最近在刷演算法題,我是用js語言去寫的,其中一題需要刪除陣列的某個元素,查了一下資料,總結一下 array.splice start deletecount item1 item2 splice 方法通過刪除現有元素和 或新增新元素來更改乙個陣列的內容。這種方式陣列長度相應改變,原來的陣列索引也相應...

js刪除陣列裡的某個元素

首先可以給js的陣列物件定義乙個函式,用於查詢指定的元素在陣列中的位置,即索引,為 array.prototype.indexof function val return 1 然後使用通過得到這個元素的索引,使用js陣列自己固有的函式去刪除這個元素 為 array.prototype.remove ...

js中,刪除陣列中指定的某個元素

首先可以給 js的陣列物件定義乙個函式,用於查詢指定的元素在陣列中的位置,即索引,為 給js的陣列物件定義乙個函式,用於查詢指定的元素在陣列中的位置,即索引 param val returns array.prototype.aindexof function val return 1 然後使用通過...