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

如何移除random数组中与names数组重复的元素?

JavaScript数组去重:移除两个数组的重复元素

先明确需求:从random数组中剔除所有在names数组里出现过的元素,得到目标数组。

原始数组:

const names = ["Daniel", "Lucas", "Gwen", "Henry", "Jasper"];
const random = ["hi", "Lucas", "apple", "banana", "Jasper", "hello", "meow"];

方法一:使用filter + includes

这是最直观的写法,适合数组元素不多的场景:

const newArr = random.filter(item => !names.includes(item));
console.log(newArr); // 输出:["hi", "apple", "banana", "hello", "meow"]

原理:filter遍历random的每个元素,用includes检查当前元素是否存在于names中,取反后留下不在names里的元素。

方法二:用Set优化性能

如果names数组元素较多,includes的遍历会影响效率,换成Set的has方法(时间复杂度O(1))会更高效:

const nameSet = new Set(names);
const newArr = random.filter(item => !nameSet.has(item));
console.log(newArr); // 输出:["hi", "apple", "banana", "hello", "meow"]

原理:先把names转成Set集合,再用filter结合has判断元素是否存在,避免重复遍历数组。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 10:25:35