我有这样的代码:
const _ = require('lodash');
const fn = _.partialRight(_.pick, _.identity);
const x = { some: 'value', empty: null };
const y = fn(x);
console.log('x:', x);
console.log('y:', y);
Lodash 3.10.1的结果:
x: { some: 'value', empty: null }
y: { some: 'value' }
Lodash 4.15.0的结果:
x: { some: 'value', empty: null }
y: {}
Lodash 4发生了什么变化,它已经无法正常工作了?
答案 0 :(得分:1)
将您的const fn = _.partialRight(_.pick, _.identity)
更改为
const fn = _.partialRight(_.pickBy, _.identity);
_.pick
过去只是一个功能,但在最新的更新中,它们分为_.pick
和_.pickBy
。传递已知密钥时使用_.pick
,使用自定义函数测试是否应根据自己的参数选择密钥/值时使用_.pickBy