碎片时间学编程「95]:根据功能省略对象属性


碎片时间学编程「95]:根据功能省略对象属性

省略与给定函数为其返回 falsy 的对象的键对应的键值对。

  • 使用Object.keys()Array.prototype.filter()函数删除fn返回真值的键。
  • 使用 Array.prototype.reduce()方法将过滤后的键转换回具有相应键值对的对象。
  • 回调函数使用两个参数调用:(value, key)。

JavaScript

const omitBy = (obj, fn) =>
  Object.keys(obj)
    .filter(k => !fn(obj[k], k))
    .reduce((acc, key) => ((acc[key] = obj[key]), acc), {});

示例:

omitBy({ a: 1, b: '2', c: 3 }, x => typeof x === 'number'); // { b: '2' }

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

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章