在 JavaScript 中使用一個數組過濾另一個數組


假設,我們有一個數組和如下物件 −

物件

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

我們需要編寫一個 JavaScript 函式,其中需要使用兩個這樣的陣列並原地過濾第一個陣列,使其僅包含 name 屬性包含在第二個陣列中的物件。

因此,讓我們編寫此函式的程式碼 −

示例

程式碼如下 −

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

輸出

控制檯輸出如下 −

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

更新於: 22-Oct-2020

65 檢視

開啟你的 職業生涯

透過完成課程獲得認證

開始
廣告
© . All rights reserved.