You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何对比两个数组的指定值并仅从其中一个数组中删除该值

实现方案

核心逻辑分两步执行即可:

  • 先判断待删除的指定值是否存在于主数组arr0中
  • 如果存在,遍历过滤arr1,移除所有和指定值相等的元素

基础实现代码(适用于绝大多数场景)

// 待删除的指定值,可根据需求替换
const target = 9;

// 判断target是否在arr0中存在
if (arr0.includes(target)) {
  // 过滤arr1,仅保留不等于target的元素
  arr1 = arr1.filter(item => item !== target);
}

完整可运行示例(包含你提供的随机数组生成逻辑)

const arrLength = 10;
const arr0 = [];
let arr1 = [];

// 生成随机数组
for (let i=0; i<arrLength; i++) {
    arr0.push(Math.floor(Math.random() * 10));
    arr1.push(Math.floor(Math.random() * 10));
}

// 核心处理逻辑
const target = 9;
if (arr0.includes(target)) {
  arr1 = arr1.filter(item => item !== target);
}

// 打印验证结果
console.log('arr0:', arr0);
console.log('处理后的arr1:', arr1);

测试用例验证(匹配你给出的示例)

输入你提供的示例参数运行:

const arr0 = [9, 6, 4, 3, 4, 7, 1, 0, 0, 8];
let arr1 = [2, 4, 7, 2, 9, 4, 0, 3, 6, 2];
const target = 9;

if (arr0.includes(target)) {
  arr1 = arr1.filter(item => item !== target);
}

console.log(arr1); // 输出:[2, 4, 7, 2, 4, 0, 3, 6, 2],完全符合预期

大数据量优化方案

如果arr0的元素数量很大(>1000条),可以先把arr0转成Set提升查询效率:

const arr0Set = new Set(arr0);
const target = 9;
if (arr0Set.has(target)) {
  arr1 = arr1.filter(item => item !== target);
}

内容的提问来源于stack exchange,提问作者nezza1

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 23:06:07