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

Thêm hai mảng chỉ giữ các bản sao một lần - JavaScript


Giả sử, chúng ta có hai mảng các ký tự như sau:

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

Chúng tôi được yêu cầu 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ụ

Hãy viết mã cho chức năng này -

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
]