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

JavaScript에서 한 배열을 사용하여 다른 배열 필터링하기

<시간/>

다음과 같은 배열과 객체가 있다고 가정해 보겠습니다. -

객체:

const main = [
   {name: "Karan", age: 34},
   {name: "Aayush", age: 24},
   {name: "Ameesh", age: 23},
   {name: "Joy", age: 33},
   {name: "Siddarth", age: 43},
   {name: "Nakul", age: 31},
   {name: "Anmol", age: 21},
];

배열:

const names = ["Karan", "Joy", "Siddarth", "Ameesh"];

이러한 두 개의 배열을 취하고 name 속성이 두 번째 배열에 포함된 객체만 포함하도록 첫 번째 배열을 필터링하는 JavaScript 함수를 작성해야 합니다.

따라서 이 함수의 코드를 작성해 보겠습니다 -

예시

이에 대한 코드는 -

const main = [
   {name: "Karan", age: 34},
   {name: "Aayush", age: 24},
   {name: "Ameesh", age: 23},
   {name: "Joy", age: 33},
   {name: "Siddarth", age: 43},
   {name: "Nakul", age: 31},
   {name: "Anmol", age: 21},
];
const names = ["Karan", "Joy", "Siddarth", "Ameesh"];
const filterUnwanted = (main, names) => {
   for(let i = 0; i < main.length; ){
      if(names.includes(main[i].name)){
         i++;
         continue;
      };
      main.splice(i, 1);
   };
};
filterUnwanted(main, names);
console.log(main);

출력

콘솔의 출력은 다음과 같습니다. -

[
   { name: 'Karan', age: 34 },
   { name: 'Ameesh', age: 23 },
   { name: 'Joy', age: 33 },
   { name: 'Siddarth', age: 43 }
]