我正在尝试使用lodash操纵n级深度数组/对象。递归映射函数或使用循环不是一个完美的解决方案。
我有像这样的示例对象,在键上,它可以是数组或对象。我想在一个单一的操作键值中使用循环它是繁琐的方式。我是否可以使用lodash操作来将值完全更改为布尔值或其他内容。
var a = {key1:true, key2:true, key3:[{key1:true, key5:true}], key6:true};
答案 0 :(得分:4)
您可以使用cloneDeepWith来获得相同的结果。
var result = _.cloneDeepWith(a, function(v) {
if(!_.isObject(v)) {
return false;
}
});
var a = {
key1: true,
key2: true,
key3: [{
key1: true,
key5: true
}],
key6: true
};
var result = _.cloneDeepWith(a, function(v) {
if(!_.isObject(v)) {
return false;
}
});
console.log(result);

body > div { min-height: 100%; top: 0; }

<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.js"></script>
&#13;