Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Lọc mảng này bằng mảng khác - JavaScript


Giả sử chúng ta có mảng object và mảng tên 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 ta cần viết hàm nhận vào hai mảng và lọc mảng đầu tiên tại chỗ (in place) chỉ giữ object có name nằm trong mảng thứ hai.

Ví dụ

Dưới đây là đoạn code:

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

Kết quả console:

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