从生活入手学编程(2):js删除指定元素的15种方法

  1. 使用filter()方法:
js 复制代码
const array = [1, 2, 3, 4, 5];
const elementToRemove = 3;
const newArray = array.filter(item => item !== elementToRemove);
  1. 使用splice()方法:
js 复制代码
const array = [1, 2, 3, 4, 5];
const indexToRemove = array.indexOf(3);
array.splice(indexToRemove, 1);
  1. 使用forEach()方法和slice()方法:
js 复制代码
const array = [1, 2, 3, 4, 5];
const elementToRemove = 3;
let newArray = [];
array.forEach(item => {
  if (item !== elementToRemove) {
    newArray.push(item);
  }
});
  1. 使用reduce()方法:
js 复制代码
const array = [1, 2, 3, 4, 5];
const elementToRemove = 3;
const newArray = array.reduce((acc, item) => {
  if (item !== elementToRemove) {
    acc.push(item);
  }
  return acc;
}, []);
  1. 使用for循环和splice()方法:
js 复制代码
const array = [1, 2, 3, 4, 5];
const elementToRemove = 3;
for (let i = 0; i < array.length; i++) {
  if (array[i] === elementToRemove) {
    array.splice(i, 1);
    i--; // 解决删除元素后下标的重新计算问题
  }
}
  1. 使用filter()方法和includes()方法:
js 复制代码
const array = [1, 2, 3, 4, 5];
const elementToRemove = 3;
const newArray = array.filter(item => !elementToRemove.includes(item));
  1. 使用for循环和slice()方法:
js 复制代码
const array = [1, 2, 3, 4, 5];
const elementToRemove = 3;
const newArray = [];
for (let i = 0; i < array.length; i++) {
  if (array[i] !== elementToRemove) {
    newArray.push(array[i]);
  }
}
  1. 使用for循环和push()方法:
js 复制代码
const array = [1, 2, 3, 4, 5];
const elementToRemove = 3;
const newArray = [];
for (let i = 0; i < array.length; i++) {
  if (array[i] !== elementToRemove) {
    newArray.push(array[i]);
  }
}
  1. 使用filter()方法和indexOf()方法:
js 复制代码
const array = [1, 2, 3, 4, 5];
const elementToRemove = 3;
const newArray = array.filter(item => array.indexOf(item) !== array.indexOf(elementToRemove));
  1. 使用for循环和concat()方法:
js 复制代码
const array = [1, 2, 3, 4, 5];
const elementToRemove = 3;
let newArray = [];
for (let i = 0; i < array.length; i++) {
  if (array[i] !== elementToRemove) {
    newArray = newArray.concat(array[i]);
  }
}
  1. 使用for循环和splice()方法:
js 复制代码
const array = [1, 2, 3, 4, 5];
const elementToRemove = 3;
for (let i = array.length - 1; i >= 0; i--) {
  if (array[i] === elementToRemove) {
    array.splice(i, 1);
  }
}
  1. 使用for循环和pop()方法:
js 复制代码
const array = [1, 2, 3, 4, 5];
const elementToRemove = 3;
for (let i = 0; i < array.length; i++) {
  if (array[i] === elementToRemove) {
    array[i] = array[array.length - 1];
    array.pop();
    i--;
  }
}
  1. 使用for循环和shift()方法:
js 复制代码
const array = [1, 2, 3, 4, 5];
const elementToRemove = 3;
for (let i = 0; i < array.length; i++) {
  if (array[i] === elementToRemove) {
    for (let j = i; j < array.length - 1; j++) {
      array[j] = array[j + 1];
    }
    array.pop();
    i--;
  }
}
  1. 使用for循环和unshift()方法:
js 复制代码
const array = [1, 2, 3, 4, 5];
const elementToRemove = 3;
for (let i = 0; i < array.length; i++) {
  if (array[i] === elementToRemove) {
    for (let j = i; j < array.length - 1; j++) {
      array[j] = array[j + 1];
    }
    array.length--;
    i--;
  }
}
  1. 使用for循环和delete关键字:
js 复制代码
const array = [1, 2, 3, 4, 5];
const elementToRemove = 3;
for (let i = 0; i < array.length; i++) {
  if (array[i] === elementToRemove) {
    delete array[i];
  }
}
相关推荐
蓝黑202015 小时前
Vue的 value=“1“ 和 :value=“1“ 有什么区别
前端·javascript·vue
小李子呢021115 小时前
前端八股6---v-model双向绑定
前端·javascript·算法
史迪仔011216 小时前
[QML] QML IMage图像处理
开发语言·前端·javascript·c++·qt
AI_Claude_code16 小时前
ZLibrary访问困境方案四:利用Cloudflare Workers等边缘计算实现访问
javascript·人工智能·爬虫·python·网络爬虫·边缘计算·爬山算法
Cobyte17 小时前
3.响应式系统基础:从发布订阅模式的角度理解 Vue2 的数据响应式原理
前端·javascript·vue.js
竹林81817 小时前
从零到一:在React前端中集成The Graph查询Uniswap V3池数据实战
前端·javascript
军军君0117 小时前
Three.js基础功能学习十八:智能黑板实现实例五
前端·javascript·vue.js·3d·typescript·前端框架·threejs
Moment17 小时前
AI全栈入门指南:一文搞清楚NestJs 中的 Controller 和路由
前端·javascript·后端
程序员马晓博17 小时前
前端并发治理:从 Token 刷新聊起,一个 Promise 就够了
前端·javascript