Giả sử chúng ta có một mảng đối tượng như sau:
const arr = [
{area: 'NY', name: 'Bla', ads: true},
{area: 'DF', name: 'SFS', ads: false},
{area: 'TT', name: 'SDSD', ads: true},
{area: 'SD', name: 'Engine', ads: false},
{area: 'NSK', name: 'Toyota', ads: false},
];
Chúng ta cần viết một hàm JavaScript nhận mảng này làm tham số đầu tiên và một mảng chuỗi nguyên thủy làm tham số thứ hai.
Hàm sẽ lọc mảng đối tượng đầu vào để chỉ chứa những đối tượng có thuộc tính "area" nằm trong mảng chuỗi (tham số thứ hai).
Ví dụ
Mã thực hiện:
const arr = [
{area: 'NY', name: 'Bla', ads: true},
{area: 'DF', name: 'SFS', ads: false},
{area: 'TT', name: 'SDSD', ads: true},
{area: 'SD', name: 'Engine', ads: false},
{area: 'NSK', name: 'Toyota', ads: false},
];
const keys = ['NY', 'SD'];
const filterByArea = (arr = [], keys = []) => {
const res = [];
for(let i = 0; i < arr.length; i++){
const { area } = arr[i];
if(keys.includes(area)){
res.push(arr[i]);
}
}
return res;
};
console.log(filterByArea(arr, keys));
Kết quả
Kết quả trong console:
[
{ area: 'NY', name: 'Bla', ads: true },
{ area: 'SD', name: 'Engine', ads: false }
]