Javascript 如何在react js中增加.map()中的变量
我有一个react代码,它获取所有评估年度,并在下拉列表中填充,但在显示时,我想将其增加一个 假设评估年度为2020年,我想在下拉列表中显示为FY:2020-2021 下面的代码填充在下拉列表中,当我尝试递增时,它会附加1,而不是添加1Javascript 如何在react js中增加.map()中的变量,javascript,reactjs,Javascript,Reactjs,我有一个react代码,它获取所有评估年度,并在下拉列表中填充,但在显示时,我想将其增加一个 假设评估年度为2020年,我想在下拉列表中显示为FY:2020-2021 下面的代码填充在下拉列表中,当我尝试递增时,它会附加1,而不是添加1 <select class="form-control" name="selected_FY" value="selected_FY" >
<select
class="form-control"
name="selected_FY"
value="selected_FY" >
{
this.state.assessmentyears.map((fin, key) =>{
return (
<option key={key} value={fin.year}>FY: {fin.year}-{fin.year+1}</option>
)
})
}
</select>
{
此.state.assessmentyears.map((fin,key)=>{
报税表(
财政年度:{fin.year}-{fin.year+1}
)
})
}
问题在于您正在向字符串值添加“1”。您应该在递增之前解析它
<select
class="form-control"
name="selected_FY"
value="selected_FY" >
{
this.state.assessmentyears.map((fin, key) =>{
return (
<option key={key} value={fin.year}>FY: {fin.year}-{Number(fin.year)+1}</option>
)
})
}
</select>
{
此.state.assessmentyears.map((fin,key)=>{
报税表(
财政年度:{财政年度}-{数字(财政年度)+1}
)
})
}
更换以下代码
<option key={key} value={fin.year}>FY: {fin.year}-{Number(fin.year)+1}</option>
FY:{fin.year}-{Number(fin.year)+1}
问题在于JavaScript中的自动类型转换,如果值的类型为字符串
,则尝试+1
,该值将自动更改为字符串
,因此计算将20201
(如果值为字符串2020
)
解决方案非常简单,您只需更改
值的类型,如果您想添加1,您可以通过Number()
,将类型从字符串更改为数字,如Number('2020')+1
将是2020
这是否回答了您的问题?似乎fin.year
是string
而不是number
。您必须首先将其转换为一个数字,例如,number(fin.year)+1
@theblackgigant no它是一个用于reactjs代码的数字,但它指出了我所犯的错误,谢谢