lodash, _.find, v3 -> v4 巨坑一个
_.find in [email protected]
在3.x 版本里是
const arr = [
{ id:1 , name: ''foo },
{ id: 2, name: 'bar' }
];
const o = _.find(arr, 'id', 1);
console.log(o.name); // foo
_.find in [email protected]
在4.x 版本里是
const arr = [
{ id:1 , name: ''foo },
{ id: 2, name: 'bar' }
];
const o = _.find(arr, ['id', 1]);
console.log(o.name); // foo
conclusion
就是说你不修改代码,直接升级v4的话,之前 _.find(arr, 'id', 1)
在v4中会被当作 _.find(arr, 'id')
来处理,最后一个参数被丢弃,即之前是使用 _.matchProperty
, 后面同样的代码是 _.property
.
- 没事别乱升级
- 升级一定要刷 changelog & migration guide
以上。