从生活入手学编程(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];
  }
}
相关推荐
To_OC12 小时前
LC 131 分割回文串:刚学回溯时,我连怎么切字符串都想不明白
javascript·算法·leetcode
To_OC13 小时前
LC 42 接雨水:暴力超时卡半天?前后缀数组一用就通了
javascript·算法·leetcode
小林ixn14 小时前
从 ??= 到 onKeyDown:一个 React 组件的“自我修养”
前端·javascript·react.js
এ慕ོ冬℘゜14 小时前
前端实战:jQuery 多条件联合搜索(标题模糊查询 + 日历时间段筛选)
前端·javascript·jquery
随心点儿15 小时前
js postMessage 实现跨域发送消息-应用示例
javascript·ecmascript·postmessage
kyriewen17 小时前
我让AI改一个bug——它偷偷动了5个我没让它碰的地方
前端·javascript·ai编程
gis开发之家21 小时前
《Vue3 从入门到大神35篇》Vue3 源码详解(五):effect 依赖收集原理——track 与 trigger 是如何工作的?
javascript·typescript·前端框架·vue3·vue3源码
橘子星1 天前
我一个前端切图仔,凭什么能在浏览器里跑大模型?
前端·javascript·前端框架
半个落月1 天前
用 LangChain JS 做可控写作实验:理解温度参数、提示词与异步调用
javascript·人工智能·后端
观远数据1 天前
Excel到数据资产池:文件数据入湖的治理规范怎么建
前端·javascript·excel