透過字串陣列從物件陣列中搜索以在 JavaScript 中獲取物件陣列


假設,我們有一個字串陣列和另一個物件陣列,如下所示 −

const arr1 = [ '1956888670', '2109171907', '298845084' ];
const arr2 = [
   { KEY: '1262875245', VALUE: 'Vijay Kumar Verma' },
   { KEY: '1956888670', VALUE: 'Sivakesava Nallam' },
   { KEY: '2109171907', VALUE: 'udm analyst' },
   { KEY: '298845084', VALUE: 'Mukesh Nagora' },
   { KEY: '2007285563', VALUE: 'Yang Liu' },
   { KEY: '1976156380', VALUE: 'Imtiaz Zafar' },
];

我們需要編寫一個 JavaScript 函式,它接受兩個這樣的陣列。然後我們的函式應該返回第二個陣列的一個經過篩選的版本,其中僅包含其 “KEY” 屬性作為一個字串列在第一個陣列中的那些物件。

示例

程式碼如下 −

const arr1 = [ '1956888670', '2109171907', '298845084' ];
const arr2 = [
   { KEY: '1262875245', VALUE: 'Vijay Kumar Verma' },
   { KEY: '1956888670', VALUE: 'Sivakesava Nallam' },
   { KEY: '2109171907', VALUE: 'udm analyst' },
   { KEY: '298845084', VALUE: 'Mukesh Nagora' },
   { KEY: '2007285563', VALUE: 'Yang Liu' },
   { KEY: '1976156380', VALUE: 'Imtiaz Zafar' },
];
const filterByKey = (arr1 = [], arr2 = []) => {
   let res = [];
   res = arr2.filter(el => {
      const { KEY } = el;
      const index = arr1.indexOf(KEY);
      return index !== -1;
   });
   return res;
};
console.log(filterByKey(arr1, arr2));

輸出

並且控制檯中的輸出將是 −

[
   { KEY: '1956888670', VALUE: 'Sivakesava Nallam' },
   { KEY: '2109171907', VALUE: 'udm analyst' },
   { KEY: '298845084', VALUE: 'Mukesh Nagora' }
]

更新於:23-11-2020

318 次瀏覽

啟動您的 職業生涯

完成課程以獲得認證

開始學習
廣告
© . All rights reserved.