TypeScript/Angular中如何为对象数组的每个元素指定字段赋值?
TypeScript/Angular 数组批量赋值实现方法
你可以通过以下两种常用方案实现批量给所有元素的annualRentCurrent字段赋值为1993:
- 方法1:直接修改原数组(适合不需要保留原始数组的场景)
使用forEach遍历数组直接修改每个元素的属性,性能开销最小:
// 固定值赋值 this.data.object.forEach(item => { item.annualRentCurrent = 1993; }); // 如果要赋值为你提供的动态变量,替换为: const targetRent = this.transaction.propertyDto.propertyDetailDto.annualRentUsd; this.data.object.forEach(item => { item.annualRentCurrent = targetRent; });
- 方法2:不可变更新生成新数组(适合Angular变更检测、状态管理等需要新引用的场景)
使用map配合对象展开运算符生成全新的数组和元素对象,不会修改原始数据:
// 固定值赋值 this.data.object = this.data.object.map(item => ({ ...item, annualRentCurrent: 1993 })); // 动态变量赋值版本: const targetRent = this.transaction.propertyDto.propertyDetailDto.annualRentUsd; this.data.object = this.data.object.map(item => ({ ...item, annualRentCurrent: targetRent }));
注意:如果数组元素本身没有
annualRentCurrent字段,上述两种写法都会自动为元素新增该字段并赋值。
内容的提问来源于stack exchange,提问作者Brinda Anand
相关产品推荐
相关产品推荐

