循环将新记录添加到打字稿中的数组[关闭]

Posted

技术标签:

【中文标题】循环将新记录添加到打字稿中的数组[关闭]【英文标题】:Loop add new record to array in typescript [closed] 【发布时间】:2020-04-15 08:02:29 【问题描述】:

我在 Typescript 中有一个 opt 变量

let opt = [];

如果我想使用 for 循环将多个子项添加到选择变量到下面的示例中

options = [
     name: "option1", value: 1 ,
     name: "option2", value: 2 
]

如何编码

for(i=0; i<=5; i++) 
    ...

【问题讨论】:

你的预期输出是什么 我想在 html 中用于选择选项值 stackblitz.com/edit/angular-ff2aja?embed=1&file=src/app/… 这能回答你的问题吗? How to add Array in Array element 【参考方案1】:

如果要将options中的每一项添加到opt,那么:

let opt = [];

let options = [
     name: "option1", value: 1 ,
     name: "option2", value: 2 
]

options.forEach(x => opt.push(x));

【讨论】:

【参考方案2】:

您需要将值推送到opt[]

例子:

for(i=0; i<=5; i++) 
    opt.push(  i  );

请根据您想要推送到数组中的内容进行更改。

【讨论】:

【参考方案3】:

试试这个

comomnet.html

<select>
  <option *ngFor="let opt of options" [value]="opt.value">opt.name</option>
</select>

组件.ts

options = [
     name: "option1", value: 1 ,
     name: "option2", value: 2 
]

【讨论】:

【参考方案4】:

如果你需要在select选项中使用,你不需要在.ts中循环任何东西,你可以在模板中使用*ngFor指令来显示选项。

试试这样:

.html

<select [(ngModel)]="selected">
  <option [value]="null">Select</option>
  <option *ngFor="let opt of options" [value]="opt.value">opt.name</option>
</select>

<p>selected : selected </p>

.ts

options = [ name: "option1", value: 1 ,  name: "option2", value: 2 ];
selected = null;

Working Demo

【讨论】:

不需要循环任何东西?我可以在 html 中看到循环。 @AliWahab 我的意思是.ts文件中没有循环,使用指令*ngFor的Angular模板的标准语法就可以了。 是的,只是想在将来有人访问此页面时纠正您。好吧,我认为这个问题并不直截了当。他需要通过 .ts 遍历选项,比如遗留的 jQuery 样式。

以上是关于循环将新记录添加到打字稿中的数组[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何将这些对象转换为打字稿中的数组

如何将firebase REST API响应转换为打字稿中的数组?

打字稿中的数组

更新可观察打字稿中的数组值

无法从打字稿中的 json 对象获取数组响应

我如何遍历表单数组并将其值设置为打字稿中的另一个数组?