Нет, вы не можете установить каждый элемент во вложенном массиве с помощью метода .set()
, но вы можете сделать это вместо этого:
const doc = {
nested: [{a: 1}, {a: 2}, {a: 3}]
}
// Your attempt.
// _.set(doc, "nested.$[].a", 5)
// Just use a .map() with .assign() instead.
const doc2 = _.assign({}, doc, {
nested: _.map(doc.nested, (obj) => _.assign({}, obj, { a: 5 }))
});
console.log(doc2)
// {
// nested: [{a : 5}, {a: 5}, {a: 5}]
// }
<script src="https://cdn.jsdelivr.net/npm/lodash@4.17.15/lodash.min.js"></script>