Skip to content

Latest commit

 

History

History
31 lines (20 loc) · 1.04 KB

File metadata and controls

31 lines (20 loc) · 1.04 KB
标题 标签
omitBy(通过给定函数删除对象属性) object(对象)

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

  • 使用 Object.keys() 和 Array.prototype.filter() 删除 fn 返回真值的键。
  • 使用 Array.prototype.reduce() 将过滤后的键转换回具有相应键值对的对象。
  • 使用两个参数调用回调函数:(value, key)。
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' }

应用场景

以下是一个实战示例:

结果如下:

<iframe src="codes/javascript/html/omit-by.html"></iframe>