提问人:noclist 提问时间:10/4/2023 更新时间:10/4/2023 访问量:26
在对象数组中设置值
Setting values in an array of objects
问:
如何向 agencyList[0].itemName 添加值?
export class SelectedItem {
id: number;
itemName: string;
isChecked: boolean;
}
agencyList: SelectedItem[] = [];
我正在尝试但出现错误:agencyList[0].itemName = 'agency1';
Cannot set properties of undefined (setting 'itemName')
答:
1赞
jcalz
10/4/2023
#1
您需要使用 first like 的实例进行初始化agencyList[0]
SelectedItem
agencyList[0] = new SelectedItem();
agencyList[0].itemName = "agency1";
据推测,您只想在项目尚未初始化的情况下执行此操作:
if (!agencyList[0]) {
agencyList[0] = new SelectedItem();
}
agencyList[0].itemName = "agency1";
你可以使用 nullish 合并赋值将其折叠成一行代码:
(agencyList[0] ??= new SelectedItem()).itemName = 'agency1'
1赞
Arron McCrory
10/4/2023
#2
创建一个对象(定义了属性)并将其添加到数组中
或
创建一个空白对象,然后使用 Object.assign
const agencyList = [{}, {}]
Object.assign(agencyList[0], {itemName: 'agency1' })
上一个:将对象中的点单独保存为正确的类型
下一个:显式推断对象为只读
评论