Giả sử chúng ta có một mảng đối tượng như sau:
const arr = [{ 'title': 'Hey', 'foo': 2, 'bar': 3 },
{ 'title': 'Sup', 'foo': 3, 'bar': 4 },
{ 'title': 'Remove', 'foo': 3, 'bar': 4 }];
Chúng ta cần viết một hàm JavaScript nhận mảng này làm đầu vào đầu tiên và một mảng chuỗi nguyên thủy làm đầu vào thứ hai.
Hàm sẽ chuẩn bị một mảng mới chứa tất cả các đối tượng có thuộc tính title được bao gồm một phần hoặc toàn bộ trong mảng chuỗi thứ hai.
Ví dụ
Mã thực hiện:
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 = arr.filter(obj => {
const { title } = obj;
return !!titles.find(el => title.includes(el));
});
return res;
};
console.log(filterByTitle(arr, filterTitles));
Kết quả
Kết quả trong console:
[ { title: 'Hey', foo: 2, bar: 3 }, { title: 'Sup', foo: 3, bar: 4 } ]