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

Tìm số còn thiếu giữa hai mảng ký tự trong JavaScript

Vấn đề

Chúng tôi được yêu cầu viết một hàm JavaScript sử dụng hai mảng arr1 và arr2.

arr2 là bản sao xáo trộn của arr1 chỉ thiếu một phần tử.

Hàm của chúng ta sẽ tìm và trả về một phần tử đó.

Ví dụ

Sau đây là mã -

const arr1 = [6, 1, 3, 6, 8, 2];
const arr2 = [3, 6, 6, 1, 2];
const findMissing = (arr1 = [], arr2 = []) => {
   const obj = {};
   for (let i = 0; i < arr1.length; i++) {
      if (obj[arr1[i]] === undefined) {
         obj[arr1[i]] = 1;
      } else {
         obj[arr1[i]]++;
      };
   }
   for (let i = 0; i < arr2.length; i++) {
      if (obj[arr2[i]] === undefined || obj[arr2[i]]-- === 0) {
         return arr2[i];
      }
   }
   for (key in obj) {
      if (obj[key] > 0) {
         return Number(key);
      }
   }
   return -1;
};
console.log(findMissing(arr1, arr2));

Đầu ra

Sau đây là đầu ra của bảng điều khiển -

8