跳到主要内容

JavaScript 合并两个数组并移除重复项的程序

要理解这个示例,你应该了解以下JavaScript编程主题的知识:

示例1:使用concat()和for循环

// 程序:合并数组并移除数组中的重复值

function getUniqueAfterMerge(arr1, arr2) {
// 合并两个数组
let arr = arr1.concat(arr2);
let uniqueArr = [];

// 遍历数组
for (let i of arr) {
if (uniqueArr.indexOf(i) === -1) {
uniqueArr.push(i);
}
}
console.log(uniqueArr);
}

const array1 = [1, 2, 3];
const array2 = [2, 3, 5];

// 调用函数
getUniqueAfterMerge(array1, array2);

输出

[1, 2, 3, 5]

在上述程序中,两个数组的元素被合并,并移除了重复元素。

这里,

  • 使用concat()方法合并了两个数组。
  • 使用for...of循环遍历数组arr的所有元素。
  • indexOf()方法在元素不在数组中时返回**-1**。

因此,在每次迭代中,如果元素等于**-1**,则使用push()方法将元素添加到uniqueArr数组中。

示例2:使用展开语法和Set

// 程序:合并数组并移除数组中的重复值

function getUniqueAfterMerge(arr1, arr2) {
// 合并两个数组
let arr = [...arr1, ...arr2];

// 移除重复项
let uniqueArr = [...new Set(arr)];

console.log(uniqueArr);
}

const array1 = [1, 2, 3];
const array2 = [2, 3, 5];

// 调用函数
getUniqueAfterMerge(array1, array2);

输出

[1, 2, 3, 5]

在上述程序中,两个数组被合并,并使用Set来移除数组中的重复项。

Set是一个独特值的集合。

这里,

  • 使用展开语法...合并了两个数组元素。
  • 数组被转换为Set,所有重复元素自动被移除。
  • 然后使用展开语法...将集合的所有元素包含回数组中。