gpt4 book ai didi

javascript - Lodash 设置数组的每个元素

转载 作者:行者123 更新时间:2023-12-02 20:51:49 28 4
gpt4 key购买 nike

有没有办法在 _.set 方法中使用字符串表示法来匹配嵌套数组中的所有项目?

(例如希望类似于 MongoDB 的 positional all 运算符)

const doc = {
nested: [{a: 1}, {a: 2}, {a: 3}]
}

_.set(doc, "nested.$[].a", 5)

// console.log(doc)
// {
// nested: [{a : 5}, {a: 5}, {a: 5}]
// }

最佳答案

不,您无法使用 .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>

关于javascript - Lodash 设置数组的每个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61589345/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com