Skip to content

使用 arr.pop()删除数组末尾的元素

arr.pop()删除索引值最大的元素,并返回被删除的元素。

js
let arr = [1, 2, 3, 4, 5];
var delElement = arr.pop();
console.log(arr, delElement);
let arr = [1, 2, 3, 4, 5];
var delElement = arr.pop();
console.log(arr, delElement);

arr.pop()的与 arr.length--的效果一样,但 arr.length--没有返回值;

使用 shift()删除数组的头部元素

shift();删除索引为 0 的元素,并返回删除的元素

js
let arr = [1, 2, 3, 4, 5];
var delElement = unshift();
console.log(arr, delElement);
let arr = [1, 2, 3, 4, 5];
var delElement = unshift();
console.log(arr, delElement);

使用 splice()方法删除指定数组元素

js
/* 使用splice()方法会影响原数组 */
let man_arr = ["张三", "李四", "王五"];
console.log("");
console.log(man_arr);
console.log(man_arr.splice(1, 2));
console.log(man_arr);
/* 使用splice()方法会影响原数组 */
let man_arr = ["张三", "李四", "王五"];
console.log("");
console.log(man_arr);
console.log(man_arr.splice(1, 2));
console.log(man_arr);

for...of 遍历中删除元素

js
let list = ["a", "b", "c", "d"];

for (let item of list) {
  if (item === "a") {
    list.splice(0, 1);
  }
  console.log(item);
}
let list = ["a", "b", "c", "d"];

for (let item of list) {
  if (item === "a") {
    list.splice(0, 1);
  }
  console.log(item);
}

输出:

a c d

forEach 遍历中删除元素:

js
let list = ["a", "b", "c", "d"];

list.forEach((item, idx) => {
  if (item === "a") {
    list.splice(0, 1);
  }
  console.log(item);
});
let list = ["a", "b", "c", "d"];

list.forEach((item, idx) => {
  if (item === "a") {
    list.splice(0, 1);
  }
  console.log(item);
});

输出:

a c d

可以看到,二者表现一致,遍历到a的时候,把a删除,则b会被跳过,增加元素则略为不同。

按照下标一次删除多个指定数组元素

js

按照下标删除单个指定数组元素

js