示例 1:使用 concat() 和 for 循环
// program to merge and remove duplicate value from an array
function getUniqueAfterMerge(arr1, arr2){
// merge two arrays
let arr = arr1.concat(arr2);
let uniqueArr = [];
// loop through array
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]
// calling the function
// passing array argument
getUniqueAfterMerge(array1, array2);
输出
[1, 2, 3, 5]
在上面的程序中,两个数组元素被合并,并移除了重复的元素。
这里,
- 使用
concat()
方法合并两个数组。 - 使用 for...of 循环遍历 arr 中的所有元素。
- 如果元素不在数组中,indexOf() 方法将返回 -1。
因此,在每次迭代中,如果元素等于 -1,则使用 push() 方法将该元素添加到 uniqueArr 数组中。
示例 2:使用 Spread 语法和 Set
// program to merge and remove duplicate value from an array
function getUniqueAfterMerge(arr1, arr2){
// merge two arrays
let arr = [...arr1, ...arr2];
// removing duplicate
let uniqueArr = [...new Set(arr)];
console.log(uniqueArr);
}
const array1 = [1, 2, 3];
const array2 = [2, 3, 5]
// calling the function
getUniqueAfterMerge(array1, array2);
输出
[1, 2, 3, 5]
在上面的程序中,两个数组被合并,并使用 Set
从数组中删除重复项。
Set
是唯一值的集合。
这里,
- 使用 spread 语法
...
合并两个数组元素。 - 将数组转换为
Set
,所有重复的元素都会被自动删除。 - 然后使用 spread 语法
...
将 Set 中的所有元素包含回数组中。
另请阅读