javascript - 任何人都可以帮助解决这个 for 循环错误吗?
问题描述
我很好奇为什么我的代码中的 for 循环给了我错误“意外的令牌”,也许是语法错误?这可能很明显,但我没有看到。如果能指出来,我将不胜感激。谢谢 :)
function diagonalDifference(arr) {
let arr_length = arr[0].length;
let leftSum = 0;
let rightSum = 0;
for(let i = 0; j = arr_length - 1; i < arr_length; i++, j--){
leftSum += arr[i][i];
rightSum += arr[i][j];
}
let difference = leftSum - rightSum
return Math.abs(difference);
}
解决方案
您的 for 循环在初始化时有一个分号,
for(let i = 0; j = arr_length - 1; i < arr_length; i++, j--){
//should be
for(let i = 0, j = arr_length - 1; i < arr_length; i++, j--){
仅供参考,您的浏览器有一个突出显示问题的网络检查器(在 Mac 上单击 COMMAND+OPTION+J,在 Windows 上是 CMD+SHIFT+J。
单击错误消息“意外令牌”会显示代码中发生错误的确切位置。
推荐阅读
- javascript - 我是否为 mediasoup 打开了错误的端口?
- excel - 使用 SaveAs 函数时 VBA 对象不支持此属性或方法
- sqlite - 与自身联合表并打印独特的对
- xpath - 找到负载类型为“40 年固定”且子类型为“A”的比率
- java - 如何在 jooq 中使用别名进行排序
- amp-html - 为什么 AMP 页面的 Google 搜索结果有“IIS Windows Server”?
- django - 完整性错误处理和个性化消息
- django - 如何在 form_valid 中删除模型中的所有多对多关系?
- php - 在 WooCommerce 订单列表中显示 Dokan 自定义订单元数据
- android - 如何构建/调试 Uno 平台应用程序的 Android 头。在 Linux 下?