JS数组合并去重

在JavaScript中,合并数组并去除重复的元素是一个常见的操作。本文将详细介绍如何使用JavaScript实现数组的合并和去重操作。
方法一:使用Set数据结构
JavaScript中的Set数据结构是一种类似于数组的对象,它存储唯一值,不允许重复。我们可以利用Set数据结构的这一特性来实现数组的合并和去重操作。
const arr1 = [1, 2, 3];
const arr2 = [2, 3, 4];
const newArr = Array.from(new Set([...arr1, ...arr2]));
console.log(newArr); // [1, 2, 3, 4]
上面的代码首先将两个数组合并成一个新数组,然后通过Array.from()方法将Set数据结构转换为数组,从而实现数组的合并和去重。
方法二:使用filter方法
除了使用Set数据结构外,我们还可以使用数组的filter方法来实现数组的合并和去重操作。
const arr1 = [1, 2, 3];
const arr2 = [2, 3, 4];
const newArr = arr1.concat(arr2).filter((item, index, array) => array.indexOf(item) === index);
console.log(newArr); // [1, 2, 3, 4]
上面的代码首先将两个数组合并成一个新数组,然后通过filter方法遍历数组,判断当前元素在数组中的索引位置是否等于它的第一次出现的位置,如果是则保留,否则过滤掉。
方法三:使用reduce方法
另一种常见的方法是使用数组的reduce方法来实现数组的合并和去重操作。
const arr1 = [1, 2, 3];
const arr2 = [2, 3, 4];
const newArr = [...arr1, ...arr2].reduce((acc, cur) => {
if (!acc.includes(cur)) {
acc.push(cur);
}
return acc;
}, []);
console.log(newArr); // [1, 2, 3, 4]
上面的代码首先将两个数组合并成一个新数组,然后通过reduce方法遍历数组,如果当前元素不在累加器数组中,则将其添加到累加器数组中,最终得到合并去重后的新数组。
总结
本文介绍了三种常见的方法来实现JavaScript中数组的合并和去重操作,分别是使用Set数据结构、filter方法和reduce方法。根据具体的需求和场景选择合适的方法来实现数组的合并和去重操作,可以提高代码的效率和可维护性。
极客笔记