Computer >> Máy Tính >  >> Lập trình >> Javascript

Lọc một mảng bằng một mảng khác - JavaScript

Giả sử, chúng ta có một mảng và các đối tượng như sau -

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"];

Chúng tôi bắt buộc phải viết một hàm JavaScript có trong hai mảng như vậy và lọc mảng đầu tiên để chỉ chứa những đối tượng có thuộc tính tên được bao gồm trong mảng thứ hai.

Ví dụ

Sau đây là mã -

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);

Điều này sẽ tạo ra kết quả sau trên bảng điều khiển -

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