从生活入手学编程(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];
  }
}
相关推荐
前端君7 小时前
实现最大异步并发执行队列
javascript
知识分享小能手8 小时前
React学习教程,从入门到精通,React 组件核心语法知识点详解(类组件体系)(19)
前端·javascript·vue.js·学习·react.js·react·anti-design-vue
蚂蚁RichLab前端团队9 小时前
🚀🚀🚀 RichLab - 花呗前端团队招贤纳士 - 【转岗/内推/社招】
前端·javascript·人工智能
萌萌哒草头将军10 小时前
Oxc 和 Rolldown Q4 更新计划速览!🚀🚀🚀
javascript·vue.js·vite
Qlittleboy10 小时前
uniapp如何使用本身的字体图标
javascript·vue.js·uni-app
林_深时见鹿10 小时前
Vue + ElementPlus 自定义指令控制输入框只可以输入数字
前端·javascript·vue.js
GDAL10 小时前
Knockout.js 任务调度模块详解
javascript·knockout
椒盐螺丝钉10 小时前
Vue组件化开发介绍
前端·javascript·vue.js
koooo~10 小时前
v-model与-sync的演变和融合
前端·javascript·vue.js
GW_Cheng10 小时前
分享一个vue2的tinymce配置
开发语言·javascript·ecmascript