合併和修正 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 ]

更新時間:2021 年 4 月 21 日

87 次瀏覽

開啟您的職業生涯

完成課程以獲得認證

入門
廣告
© . All rights reserved.