繁体   English   中英

如何使JavaScript中每个元素的映射函数的键值递增

[英]How to make key value of map function increment for each element in JavaScript

我要映射出一个字段数组中的每个字段,以便每个字段都有一个从1 ... n个字段开始的id。

在将所有字段值存储在数组中时,会使用它,并且当更改字段时,我希望data [index]进行相应的更新。

这是我的地图功能代码

{this.state.fields.map((field) => {
return (
    <IssueInputRow
        labelText={field.name}
        key={i}   //want this to increment by 1 for each field, starting a 0                 
        handler={this.handler}
    />
    );
})}

我希望每个字段的键从0开始增加1。因此,如果有3个字段,则相应字段的键应为0,1,2。

请让我知道这是怎么回事

map的函数提供的第二个参数是数组索引,因此您可以使用它。

{this.state.fields.map((field, i) => {
  return (
    <IssueInputRow
      labelText={field.name}
      key={i}             
      handler={this.handler}
    />
  );
})}

在JavaScript中, 地图功能具有两个参数,一个是项目,另一个是键。 您需要始终以其他方式提供这两个参数,否则它将在控制台中显示错误。 Item将返回数组的值,而Key将返回从0开始的下标值。

你可以这样->

{this.state.fields == undefined ? '' : this.state.fields.map((field, i) => {
    return (
        <IssueInputRow
         labelText={field.name}
         key={i}  //Here key (i) will give you the value starting from 0           
         handler={this.handler}
        />
    );
 })} 

为了更好地了解地图,请参考-> 在此处输入链接描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM