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
,所有重复元素自动被移除。 - 然后使用展开语法
...
将集 合的所有元素包含回数组中。