首页 > 解决方案 > 如何在ts中将值动态设置为数组中的对象

问题描述

let a=[
    {'firstName':"iroman",
    'lastName':"k"},
    {'firstName':"antman",
    'lastName':"k"}
]
let b=[]
let co=[]
for(let i=0;i<a.length;i++){
    a['firstName']='hulk'
    b.push(a[i])
}
console.log('-----' + JSON.stringify(b))

我无法将动态内容添加到对象。提前致谢

例外输出:

[{"firstName":"hulk","lastName":"k"},{"firstName":"hulk","lastName":"k"}]

Actual output-
[{"firstName":"iroman","lastName":"k"},{"firstName":"antman","lastName":"k"}]:

标签: javascript

解决方案


你错过了a[i]

let a=[
    {'firstName':"iroman",
    'lastName':"k"},
    {'firstName':"antman",
    'lastName':"k"}
]
let b=[]
let co=[]
for(let i=0;i<a.length;i++){
    a[i]['firstName']='hulk'
    b.push(a[i])
}
console.log('-----' + JSON.stringify(b))

使用map()

let a=[
    {'firstName':"iroman",
    'lastName':"k"},
    {'firstName':"antman",
    'lastName':"k"}
]

let b = a.map(i => (i.firstName = 'hulk', i))
console.log('-----' + JSON.stringify(b))


推荐阅读