foo.a.map(-6ren">
gpt4 book ai didi

javascript - 映射数组中对象中的数组

转载 作者:行者123 更新时间:2023-11-30 11:40:09 26 4
gpt4 key购买 nike

我有这样的数据结构:

let foo = [{ "a": [1,2,3] }]

我想映射对象内部的数组,在这个数组内部

// Approach 1:
foo.map(foo => foo.a.map(val => val + 1))

这将返回 [ [ 2,3,4 ] ] 但会删除外部对象(我认为这很有趣)。

// Approach 2:
foo.map(foo => {
foo.a = foo.a.map(val => val + 1)
return foo
})

这有效,但也改变了对象本身。

有没有办法做到这一点,返回正确的值,但不改变作为参数给出的对象?

编辑:

我的用例包括在此数组中有多个对象:

let bar = [
{ "a": [1,2,3] },
{ "a": [5,5,5] },
{ "a": [10,100,1000] },
]

所以直接在内部寻址数组并没有真正的帮助。

最佳答案

您可以使用 Object.assign() 返回原始对象的副本并添加修改后的 a 数组。

let bar = [
{ "a": [1,2,3]},
{ "a": [5,5,5] },
{ "a": [10,100,1000] },
]

let result = bar.map(function(e) {
return Object.assign({}, e, {a: e.a.map(a => a + 1)})
})

console.log(bar)
console.log(result)

关于javascript - 映射数组中对象中的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43015158/

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