Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

JavaScript에서 임의의 배열 수 사이의 공통 항목 찾기

<시간/>

다음과 같은 숫자 배열의 개체가 있다고 가정해 보겠습니다. -

const obj = {
   a: [ 15, 23, 36, 49, 104, 211 ],
   b: [ 9, 12, 23 ],
   c: [ 11, 17, 18, 23, 38 ],
   d: [ 13, 21, 23, 27, 40, 85]
};

개체의 요소 수는 고정되어 있지 않으며 임의의 수의 요소를 가질 수 있습니다.

우리는 이러한 객체 하나를 받아서 각 멤버 배열에 공통적인 요소 배열을 반환하는 JavaScript 함수를 작성해야 합니다.

따라서 위의 개체에 대해 출력은 -

여야 합니다.
const output = [23];

예시

이에 대한 코드는 -

const obj = {
   a: [ 15, 23, 36, 49, 104, 211 ],
   b: [ 9, 12, 23 ],
   c: [ 11, 17, 18, 23, 38 ],
   d: [ 13, 21, 23, 27, 40, 85]
};
const commonBetweenTwo = (arr1, arr2) => {
   const res = [];
   for(let i = 0; i < arr1.length; i++){
      if(arr2.includes(arr1[i])){
         res.push(arr1[i]);
      };
   };
   return res;
};
const commonBetweenMany = (obj = {}) => {
   const keys = Object.keys(obj);
   let res = obj[keys[0]];
   for(let i = 1; i < keys.length - 1; i++){
      res = commonBetweenTwo(res, obj[keys[i]]);
      if(!res.length){
         return [];
      };
   };
   return res;
};
console.log(commonBetweenMany(obj));

출력

콘솔의 출력은 -

[23]