复制深层嵌套对象但省略特定键,其中键也是一个数组
Copy deep nested object but omitting specific key, where key is also an array
有很多类似的线程,但是这个问题有一个额外的困难,我至今找不到解决方案
我有一个这样的对象:
我想将这个对象深复制到一个新对象中,但是对于 'trainings' 数组中的每个元素,我不想完全复制 'sessions' 和 'user'
很少有线程提到 Lodash 方法 _.omit() 但这不适用于嵌套对象。另一个包 Deepdash 有 _.deepOmit() 方法,但问题是它不适用于数组的键。
我也尝试了以下解决方案
let filteredData = _.transform(data, function (filteredData, value, key) {
filteredData[key] = _.isArray(value) && `sessions` in value ? _.omit(value, 'sessions') : value;
});
但也不成功
我怎样才能做到这一点?
这个包提供了这个问题的确切解决方案:
https://github.com/odynvolk/omit-deep-lodash
这是解决我的问题的方法:
let filteredData = omitDeep(data,"sessions", "user")
有很多类似的线程,但是这个问题有一个额外的困难,我至今找不到解决方案
我有一个这样的对象:
我想将这个对象深复制到一个新对象中,但是对于 'trainings' 数组中的每个元素,我不想完全复制 'sessions' 和 'user'
很少有线程提到 Lodash 方法 _.omit() 但这不适用于嵌套对象。另一个包 Deepdash 有 _.deepOmit() 方法,但问题是它不适用于数组的键。
我也尝试了以下解决方案
let filteredData = _.transform(data, function (filteredData, value, key) {
filteredData[key] = _.isArray(value) && `sessions` in value ? _.omit(value, 'sessions') : value;
});
但也不成功
我怎样才能做到这一点?
这个包提供了这个问题的确切解决方案:
https://github.com/odynvolk/omit-deep-lodash
这是解决我的问题的方法:
let filteredData = omitDeep(data,"sessions", "user")