试图将值保存到自定义类型的数组中。 get'无法设置未定义的属性(设置' id;)"

发布于 2025-02-06 17:31:52 字数 1023 浏览 4 评论 0原文

我创建了一个这样的模型:

export class SelectedApplicationFeatures {
id: number; 

}

并在我的ts文件中使用了它,如:

import { SelectedApplicationFeatures } from "src/app/models/selectedApplicationFeatures.model";
selectedApplicationFeatures: SelectedApplicationFeatures[]=[];

如果我尝试在这样的函数中设置selectedapplicationfeatures中的值:

for (let i = 0; i < _applicationFeatures.length; i++) {

  if (_applicationFeatures[i].featureChecked == true) {

    let j = 0;
    this.selectedApplicationFeatures[j].id = _applicationFeatures[i].id;
//error is happening on the above line. _applicationFeatures[i].id is returning proper integer value.
    j++;
  }
}

我遇到了一个错误: “错误类型:无法读取未定义的属性(读取'0')”。

// _ applicationFeatures:

应用程序功能功能array array

错误

I had created a model like this:

export class SelectedApplicationFeatures {
id: number; 

}

and used it in my ts file as:

import { SelectedApplicationFeatures } from "src/app/models/selectedApplicationFeatures.model";
selectedApplicationFeatures: SelectedApplicationFeatures[]=[];

then if I try to set values in selectedApplicationFeatures in my function like this:

for (let i = 0; i < _applicationFeatures.length; i++) {

  if (_applicationFeatures[i].featureChecked == true) {

    let j = 0;
    this.selectedApplicationFeatures[j].id = _applicationFeatures[i].id;
//error is happening on the above line. _applicationFeatures[i].id is returning proper integer value.
    j++;
  }
}

I am getting an error:
"ERROR TypeError: Cannot read properties of undefined (reading '0')".

//_applicationFeatures:

application features array

error

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

过气美图社 2025-02-13 17:31:52

该错误在于变量selectionApplicationFeatures:SelecteApplicationFeatures [];。您应该首先将其初始化为:

selectedApplicationFeatures: SelectedApplicationFeatures[] = [];

然后,而不是将未知数的元素分配给selecteApplicationFeatures也许附加会更好。查看以下修复程序:

for (let i = 0; i < _applicationFeatures.length; i++) {
  if (_applicationFeatures[i].featureChecked == true) {
    this.selectedApplicationFeatures.push({id: _applicationFeatures[i].id};
  }
}

The error lies in the variable selectedApplicationFeatures: SelectedApplicationFeatures[];. You should initialize it first as:

selectedApplicationFeatures: SelectedApplicationFeatures[] = [];

And then, instead of assigning an unknown number of elements to selectedApplicationFeatures maybe appending would be better. Take a look at the fix below:

for (let i = 0; i < _applicationFeatures.length; i++) {
  if (_applicationFeatures[i].featureChecked == true) {
    this.selectedApplicationFeatures.push({id: _applicationFeatures[i].id};
  }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文