假设我有两个数组...
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'}]
即使对象具有不同的名称,我也可以做同样的事情吗?谢谢。
使用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)