通过字符串数组从对象数组中搜索以获取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' }

]

以上是 通过字符串数组从对象数组中搜索以获取JavaScript中的对象数组 的全部内容, 来源链接: utcz.com/z/321574.html

回到顶部