【发布时间】:2017-08-18 07:35:14
【问题描述】:
我有这样的数据结构:
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] },
]
所以直接寻址内部的数组并没有真正的帮助。
【问题讨论】:
-
foo[0].a.map(val => val + 1)
标签: javascript arrays mapping javascript-objects