You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ReactJS数组map遍历报错:';' expected,求问题原因及解决办法

问题分析与解决

你这段代码的语法错误出在箭头函数的返回值处理上:

当箭头函数使用大括号{}包裹内容时,JavaScript会将其识别为函数体,而非直接返回的表达式。你写的value: Math.ceil(...)会被解析成标签语句,后续的isOn: false就会因语法不合法抛出"; expected"错误。

另外原函数还遗漏了return语句,即便语法正确,调用allNewDice()也会得到undefined。

修正方案

方案1:用小括号包裹返回的对象

通过小括号()将对象字面量包裹,明确告诉JS这是要返回的对象,而非函数体:

function allNewDice(){
    const newDice = new Array(10).fill(0).map(x => ({
        value: Math.ceil(Math.random() * 6), 
        isOn : false 
    }))
    return newDice;
}

方案2:显式添加return语句

如果坚持用大括号作为函数体,需要显式写出return语句返回对象:

function allNewDice(){
    const newDice = new Array(10).fill(0).map(x => {
        return {
            value: Math.ceil(Math.random() * 6), 
            isOn : false 
        }
    })
    return newDice;
}

内容的提问来源于stack exchange,提问作者FloydK

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 01:17:11