从生活入手学编程(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];
  }
}
相关推荐
摘星编程1 小时前
OpenHarmony环境下React Native:自定义useTruncate文本截断
javascript·react native·react.js
Duang007_2 小时前
【LeetCodeHot100 超详细Agent启发版本】字母异位词分组 (Group Anagrams)
开发语言·javascript·人工智能·python
2601_949868363 小时前
Flutter for OpenHarmony 电子合同签署App实战 - 主入口实现
开发语言·javascript·flutter
m0_748229993 小时前
Vue2 vs Vue3:核心差异全解析
前端·javascript·vue.js
xiaoxue..4 小时前
React 手写实现的 KeepAlive 组件
前端·javascript·react.js·面试
摘星编程4 小时前
在OpenHarmony上用React Native:自定义useHighlight关键词高亮
javascript·react native·react.js
2601_949613025 小时前
flutter_for_openharmony家庭药箱管理app实战+用药知识详情实现
android·javascript·flutter
一起养小猫5 小时前
Flutter for OpenHarmony 实战 表单处理与验证完整指南
android·开发语言·前端·javascript·flutter·harmonyos
xcs194057 小时前
前端 项目构建问题 \node_modules\loader-runner\lib\loadLoader.js
开发语言·前端·javascript
我爱加班、、7 小时前
new Map()+Array.from()整理elementPlus的级联器数据
linux·前端·javascript