📌  相关文章
📜  合并数组不重复 js - Javascript (1)

📅  最后修改于: 2023-12-03 15:22:57.739000             🧑  作者: Mango

合并数组不重复

在 JavaScript 中,我们可以使用 concat() 方法将两个数组合并成一个新数组。但是,如果两个原始数组存在重复元素,合并后的新数组中也会出现重复元素。本篇文章将介绍如何使用 JavaScript 语言编写一个函数,实现合并数组并去重的功能。

实现思路

我们可以使用 ES6 中的 Set 对象来实现数组去重,Set 对象可以存储不重复的值,并且可以将数组转换为 Set 对象,去重后再转换为数组。根据这个思路,我们可以实现一个函数,接收多个数组作为参数,合并数组并去重后返回一个新数组。

代码示例

以下是具体的代码实现:

/**
 * @param {...Array} args 用于合并的数组,接收多个参数
 * @returns {Array} 去重后的新数组
 */
function mergeUnique(...args) {
  // 将每个数组转换为 Set 对象并合并
  const mergedSet = new Set([].concat(...args));
  // 将 Set 对象转换为数组并返回
  return Array.from(mergedSet);
}

// 示例运行
const arr1 = [1, 2, 3];
const arr2 = [2, 3, 4];
const arr3 = [3, 4, 5];
const merged = mergeUnique(arr1, arr2, arr3);
console.log(merged); // [1, 2, 3, 4, 5]
解释说明

以上代码中,我们定义了一个名为 mergeUnique 的函数,它可以接收多个数组作为参数,使用 spread syntax 将这些数组展开并使用 concat() 方法合并成一个新数组。然后,我们再使用 Set 对象去重,并将去重后的新 Set 对象转换为数组并返回。

需要注意的是,我们使用了 Array.from() 方法将 Set 对象转换为数组,因为 Set 对象自身并没有提供类似数组的方法。

总结

通过本篇文章的介绍,我们学会了使用 JavaScript 编写一个函数,实现合并数组并去重的功能。希望这篇文章对你有所帮助,谢谢阅读!