合并和修正 JavaScript 数组
问题
我们需要编写一个 JavaScript 函数,它将两个数字数组 arr1 和 arr2 作为第一个和第二个参数。
我们的函数应该将这两个数组的元素合并为一个新数组,如果在合并之后或之前存在任何重复项,我们应该删除多余的重复项,以便仅在合并数组中存在每个元素的一个副本。
此处的顺序不是那么重要,但元素的频率(每个元素应为 1)至关重要。
例如,如果函数的输入为:
onst arr1 = [6, 5, 2, 1, 8]; const arr2 = [3, 4, 6, 8, 9];
那么输出应该是:
const output = [6, 5, 2, 1, 8, 3, 4, 9];
示例
以下是代码:
const arr1 = [6, 5, 2, 1, 8];
const arr2 = [3, 4, 6, 8, 9];
const mergeAndRectify = (arr1 = [], arr2) => {
const { length: len1 } = arr1;
const { length: len2 } = arr2;
const res = [];
let curr = 0;
for(let i = 0; i < len1+len2; i++){
if(i >= len1){
curr = i - len1;
if(!res.includes(arr1[curr])){
res.push(arr1[curr]);
};
}else{
curr = i;
if(!res.includes(arr2[curr])){
res.push(arr2[curr]);
};
};
};
return res;
};
console.log(mergeAndRectify(arr1, arr2));输出
以下为控制台输出:
[ 3, 4, 6, 8, 9, 5, 2, 1 ]
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP