【问题标题】:How to use continue or break with For ... in with Javascript Illegal continue statement如何在 Javascript Illegal continue 语句中使用 continue 或 break with For ... in
【发布时间】:2019-02-04 09:56:17
【问题描述】:

我正在循环我的财产如下:

for (let propertyName in dataObject) {
   if (propertyName=='name'){
       if (dataObject[propertyName] == 'Coco'){
         continue;
         }
    }
      myFunctionTransfer(dataObject[propertyName]);
}

我收到了错误

非法的 continue 语句:没有环绕的迭代语句Illegal continue 语句:没有周围的迭代语句

我怎样才能达到我想要达到的目的?当 name 属性值为 'Coco' 时,for 循环应该转到下一个属性。

【问题讨论】:

  • continue => break ?
  • 为什么不做相反的逻辑。意思是,当名字不是 Coco 时,做任何你想做的事。 if (dataObject[propertyName] != 'Coco'){ //do your logic;}
  • 在嵌套的if 子句(可以替换为单个子句和&&)旁边,代码正在运行。也许你在myFunctionTransfer 中有一个continue 声明。
  • 您确定这是引发错误的地方吗?该代码完全有效。

标签: javascript node.js loops


【解决方案1】:

你可以重写for循环如下:

for (let propertyName in dataObject) {
   if (propertyName != 'name' || dataObject[propertyName] != 'Coco') {
      myFunctionTransfer(dataObject[propertyName]);
    }      
}

【讨论】:

  • 我的回答有什么问题?我只是更改了代码以匹配 for 正文应适用的条件...
猜你喜欢
  • 1970-01-01
  • 2010-10-02
  • 1970-01-01
  • 2019-11-11
  • 2014-03-07
  • 1970-01-01
  • 1970-01-01
  • 2021-04-27
  • 2011-10-09
相关资源
最近更新 更多