如何在不遍历元素的情况下,将array2中array1不含的元素推入array1?
无需显式for循环,向array1添加array2中不存在的元素
可以通过以下几种方式实现,全程无需手动编写for循环:
方法1:利用Set的自动去重特性
Set会自动忽略重复值,将两个数组合并后转为Set,再转回数组覆盖原array1即可:
array1 = [1, 2, 3]; array2 = [1, 3, 5, 6]; const mergedSet = new Set([...array1, ...array2]); array1 = Array.from(mergedSet); console.log(array1); // 输出: [1, 2, 3, 5, 6]
方法2:用filter筛选后批量推入
先通过filter筛选出array2中未在array1里出现的元素,再用扩展运算符...批量推入array1:
array1 = [1, 2, 3]; array2 = [1, 3, 5, 6]; array1.push(...array2.filter(item => !array1.includes(item))); console.log(array1); // 输出: [1, 2, 3, 5, 6]
这两种方法都没有使用显式的for循环,底层迭代逻辑由语言内置方法处理,无需手动编写循环代码。
内容的提问来源于stack exchange,提问作者chris09trt
相关产品推荐
相关产品推荐

