最近在刷算法題,我是用js語言去寫的,其中一題需要刪除數組的某個元素,查了一下資料,總結一下
使用splice()方法
array.splice(start[, deleteCount[, item1[, item2[, ...]]]])
-
start指定修改開始的位置 -
deleteCount刪除元素的個數 -
item1,item2在刪除的位置要添加的元素
splice() 方法通過刪除現有元素和/或添加新元素來更改一個數組的內容。
這種方式數組長度相應改變,原來的數組索引也相應改變
如果只刪除數組其中的幾個元素,需要制訂start和deleteCount,如果不指定deleteCount會把start之后的元素全部刪除
如果要在刪除的位置插入新的元素,只需要把新元素寫在item1...位置上
例子1:刪除數組[1,2,3]的第二個元素
let arr = [1,2,3]
arr.splice(1,1)
console.log(arr) //[1,3]
例子2:刪除數組[1,2,3]的第二個元素以及后面的元素
let arr = [1,2,3]
arr.splice(1)
console.log(arr) //[1]
例子3:刪除原數組中的第二個元素,然后添加兩個新的元素5,6
let arr = [1,2,3]
arr.splice(1,1,5,6)
console.log(arr) //[1,5,6,3]
使用delete操作符
這種方式數組長度不變,此時被刪除的位置內容變為 undefined 了,好處是原來數組的索引保持不變
let arr = [1,2,3]
delete arr[1]
console.log(arr) //[ 1, <1 empty item>, 3 ]
遍歷數組可以使用下面這種方式
for(index in nums){
console.log(nums[index])
}
以上是 delete 操作符刪除數組元素的應用,下面詳細介紹一下 delete 操作符
delete 操作符用於刪除對象的某個屬性;如果沒有指向這個屬性的引用,那它最終會被釋放。
let user = {
name:'Jack',
age:21
}
delete user.name
console.log(user) //{ age: 21 }
