碎片时间学编程「81]:过滤匹配和未指定的值

根据条件过滤对象数组,同时过滤掉未指定的键。

使用Array.prototype.filter()根据谓词过滤数组fn,使其返回条件为真值的对象。

在过滤后的数组上,用Array.prototype.map()返回新对象。

用Array.prototype.reduce()过滤掉未作为keys参数提供的键。

JavaScript

constreducedFilter=(data,keys,fn)=>

data.filter(fn).map(el=>

keys.reduce((acc,key)=>{

acc[key]=el[key];

returnacc;

},{})

);

示例:

const data = [

  {

    id: 1,

    name: 'john',

    age: 24

  },

  {

    id: 2,

    name: 'mike',

    age: 50

  }

];

reducedFilter(data, ['id', 'name'], item => item.age > 24);

// [{ id: 2, name: 'mike'}]

更多内容请访问我的网站:https://www.icoderoad.com

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容