Typescript 对象动态分配更改 fieldName

Typescript Object dynamic assignment changes fieldName

我正在使用现有对象的一些值创建一个新对象。现在在用 crs.parentFieldId 分配 fieldId 时,在最终对象中,fieldId 名称本身更改为 parentFieldId。这里出了什么问题? 1. 代码片段

ionViewWillEnter() {
    console.log('ionViewWillEnter EditSubfieldFeePage');
    this.fs.getCourseFieldBySelectedId().subscribe((cf: CourseField) => {
      let ids = this.fs.getSelectedCourses();
      for(let crs of cf.courses) {
        if(ids.has(crs.courseId)) {
          let courseFee: CourseFee = {
            fieldId: crs.parentFieldId,
            fieldName: cf.fieldName,
            courseId: crs.courseId,
            courseName: crs.courseName,
            feeAmount: 0,
            feeType: "MONTHLY"
          }
          this.courseFeeList.push(crs);
        }
      }

    });
  }

class定义

export class CourseFee {
  fieldId: string;
  courseId: string;
  feeAmount: number;
  feeType: string;
}

它工作正常,但在控制台中 fieldId 被重命名为 parentFieldId。

似乎您没有添加新的 courseFee 对象,而是添加了 crs 对象(其中包含 parentFieldId 属性)

if(ids.has(crs.courseId)) {
  let courseFee: CourseFee = {
    fieldId: crs.parentFieldId,
    fieldName: cf.fieldName,
    courseId: crs.courseId,
    courseName: crs.courseName,
    feeAmount: 0,
    feeType: "MONTHLY"
  }
  this.courseFeeList.push(crs); // <--- here!
}

为了修复它,更改此行

this.courseFeeList.push(crs);

成为

this.courseFeeList.push(courseFee);