Typescript:如何从另一个数组中设置对象数组中的值

问题描述 投票:-1回答:1

假设我有两个数组...

array1 = [{'age':'', 'name':'John'}, {'age':'', 'name':'Mark'}, {'age':'', 'name':'Curtis'}]


array2 = ['23','25','29']

我知道我可以使用嵌套的for循环将'age'对象设置为array2中的值。但是,使用javascript方法之一(例如find或map)还有另一种方法吗?因此,理想的结果将是...

array3 = [{'age':'23', 'name':'John'}, {'age':'25', 'name':'Mark'}, {'age':'29', 'name':'Curtis'}]

也叫array2是...

array2 = [{'value':'23'},{'value':'25'},{'value':'29'}]

即使对象具有不同的名称,我也可以做同样的事情吗?谢谢。

javascript arrays typescript
1个回答
0
投票

使用Array.map(),并使用索引(age)从第一个数组中获取i,并使用对象解构进行合并:

const array1 = [{'age':'', 'name':'John'}, {'age':'', 'name':'Mark'}, {'age':'', 'name':'Curtis'}]
const array2 = ['23','25','29']

const result = array1.map((o, i) => ({ ...o, age: array2[i] }))

console.log(result)

处理array2的第二版是相似的,使用索引,并取值:

const array1 = [{'age':'', 'name':'John'}, {'age':'', 'name':'Mark'}, {'age':'', 'name':'Curtis'}]
array2 = [{'value':'23'},{'value':'25'},{'value':'29'}]

const result = array1.map((o, i) => ({ ...o, age: array2[i].value }))

console.log(result)
© www.soinside.com 2019 - 2024. All rights reserved.