【问题标题】:Can anyone assist on this for loop error?任何人都可以帮助解决这个 for 循环错误吗?
【发布时间】:2019-12-28 03:48:02
【问题描述】:

我很好奇为什么我的代码中的 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);
}

【问题讨论】:

  • 第二部分应该有条件,而你用 ; 分隔而不是 , 对于 j。在 i=0 之后使用 , 而不是 ;
  • 考虑添加适当的标签,以便可以回答您问题的人可以看到您的问题。例如,添加您在该程序中使用的语言的标签。
  • Pat 非常感谢你,这是我唯一的问题。 :) 很抱歉这是我的第一篇文章,我一定会记住这一点!
  • 与您的问题无关,但这看起来不太好:let arr_length = arr[0].length;。也许你的意思是let arr_length = arr.length;(没有索引)。

标签: javascript for-loop


【解决方案1】:

你的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。

单击错误消息“意外令牌”会显示代码中发生错误的确切位置。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-06-03
    • 2021-12-29
    • 2022-06-13
    • 2014-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多