比較兩個單字元陣列並返回差異?JavaScript


我們需要比較兩個陣列,並獲取差異,這兩個陣列包含單個字元字串,每個陣列重複出現多次。

下面是兩個這樣的陣列示例:-

const arr1 = ['A', 'C', 'A', 'D'];
const arr2 = ['F', 'A', 'T', 'T'];

我們將檢查同一位置的每個字元,並僅返回不同的部分。

示例

const arr1 = ['A', 'C', 'A', 'D'];
const arr2 = ['F', 'A', 'T', 'T'];
const findDifference = (arr1, arr2) => {
   const min = Math.min(arr1.length, arr2.length);
   let i = 0;
   const res = [];
   while (i < min) {
      if (arr1[i] !== arr2[i]) {
         res.push(arr1[i], arr2[i]);
      };
      ++i;
   };
   return res.concat(arr1.slice(min), arr2.slice(min));
};
console.log(findDifference(arr1, arr2));

輸出

控制檯中的輸出為:-

[
   'A', 'F', 'C',
   'A', 'A', 'T',
   'D', 'T'
]

更新於:2020 年 11 月 23 日

414 次觀看

開啟你的職業生涯

完成課程獲得認證

開始
廣告
© . All rights reserved.