Computer >> Máy Tính >  >> Lập trình >> Javascript

Hợp nhất và loại bỏ các bản sao trong Mảng JavaScript

Giả sử, chúng ta có hai mảng các ký tự như thế này -

const arr1 = [2, 4, 5, 3, 7, 8, 9];
const arr2 = [1, 4, 5, 2, 3, 7, 6];

Chúng tôi bắt buộc phải viết một hàm JavaScript nhận vào hai mảng như vậy và trả về một mảng mới với tất cả các bản sao đã bị loại bỏ (chỉ nên xuất hiện một lần).

Ví dụ

Mã cho điều này sẽ là -

const arr1 = [2, 4, 5, 3, 7, 8, 9];
const arr2 = [1, 4, 5, 2, 3, 7, 6];
const mergeArrays = (first, second) => {
   const { length: l1 } = first;
   const { length: l2 } = second;
   const res = [];
   let temp = 0;
   for(let i = 0; i < l1+l2; i++){
      if(i >= l1){
         temp = i - l1;
         if(!res.includes(first[temp])){
            res.push(first[temp]);
         };
      }else{
         temp = i;
         if(!res.includes(second[temp])){
            res.push(second[temp]);
         };
      };
   };
   return res;
};
console.log(mergeArrays(arr1, arr2));

Đầu ra

Đầu ra trong bảng điều khiển -

[
   1, 4, 5, 2, 3,
   7, 6, 8, 9
]