Lodash集合批量更新

时间:2016-12-27 07:42:42

标签: javascript collections lodash

我想要一些像这样的代码:

_.bulkUpdate(myCollection,'meta.type','new');

换句话说,我想用字符串或函数更新我的集合中的字段,我知道这个函数是存在的,但是不知道它的名字

2 个答案:

答案 0 :(得分:1)

您可以使用_.forEach()来迭代数组,然后使用_.set()值或_.update()使用函数来批量更新:

var arr = [{ id: 1 }, { id: 2 }, { id: 3 }];

_.forEach(arr, function(item, index) {
  _.set(item, 'meta.type', 'new'); // to set a value
  _.update(item, 'meta.value', function() { return index; }); // to set with a function
});

console.log(arr);
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.3/lodash.min.js"></script>

答案 1 :(得分:0)

尝试使用_.update_.updateWith