簡體   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