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

斯坦福CS101 Week5 JavaScript报unexpected token {错误求助

CS101 Week5 婴儿姓名统计题语法报错排查

核心报错原因

unexpected token "{"报错和花括号本身没有关系,根源是第一个if条件语句缺了一个闭合右括号:
原错误行代码:

if (row.getField("name").startsWith("A") {

这行中if (开启的条件层括号没有配对闭合,JS解析器扫描到后面的{时,判定条件表达式中出现非法token,直接抛出错误。你之前逐个删除花括号的调试方向完全错了,问题出在小括号配对上。

其余待修正语法点

for循环写法不符合CS101定制JS运行环境的规范:

  • 你写的for (row: table)用了冒号,是Java/Python的遍历语法,JS环境下遍历SimpleTable的正确写法是for (var row in table),需要声明行变量,用in关键字替代冒号,否则括号问题修复后会继续报for循环语法错误。

最终可运行代码

table = new SimpleTable("baby-2010.csv");

count1 = 0;  // A开头姓名计数
count2 = 0;  // B开头姓名计数
for (var row in table) {

  if (row.getField("name").startsWith("A")) {
    count1 = count1 + 1;
  }

  if (row.getField("name").startsWith("B")) {
    count2 = count2 + 1;
  }

}
print("A count:", count1);
print("B count:", count2);

补充说明:你原代码第二个判断用了endsWith("B"),统计的是名字以B结尾的数量,和题目要求的「以B开头」不符,上述代码已同步修正。如果题目实际要求是统计A开头、B结尾的姓名数,把第二个判断改回endsWith("B")即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 09:54:22