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

JavaScript를 사용하여 키로 중첩 객체 필터링

<시간/>

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

const arr = [{ 'title': 'Hey',
   'foo': 2,
   'bar': 3
}, {
   'title': 'Sup',
   'foo': 3,
   'bar': 4
}, {
   'title': 'Remove',
   'foo': 3,
   'bar': 4
}];

첫 번째 입력으로 하나의 배열을, 두 번째 입력으로 문자열 리터럴 배열을 취하는 JavaScript 함수를 작성해야 합니다.

그런 다음 우리 함수는 리터럴의 두 번째 입력 배열에 부분적으로 또는 완전히 포함된 title 속성을 가진 모든 객체를 포함하는 새 배열을 준비해야 합니다.

예시

이에 대한 코드는 -

const arr = [{ 'title': 'Hey',
   'foo': 2,
   'bar': 3
}, {
   'title': 'Sup',
   'foo': 3,
   'bar': 4
}, {
   'title': 'Remove',
   'foo': 3,
   'bar': 4
}];
const filterTitles = ['He', 'Su'];
const filterByTitle = (arr = [], titles = []) => {
   let res = [];
   res = arr.filter(obj => {
      const { title } = obj;
      return !!titles.find(el => title.includes(el));
   });
   return res;
};
console.log(filterByTitle(arr, filterTitles));

출력

콘솔의 출력은 -

[ { title: 'Hey', foo: 2, bar: 3 }, { title: 'Sup', foo: 3, bar: 4 } ]