在 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 ]