在coffeescript中循环中的语句遇到麻烦



我正在使用Rails 4.2.3。我有这个javascript

  for (i = 0; i < listItems.length; i++) {
    if (listItems[i] === window.location.pathname)
      return i
  }

我想变成咖啡脚本。所以我尝试了

if window.location.pathname in [listItems[i]] return i for i in [0...listItems.length] 

但是,在运行此操作后,我会遇到错误" syntaxerror:[stdin]:77:3:如果出乎意料"。翻译此JS的正确方法是什么?

首先,要在同一行上的if-statement中使用返回,您应该使用"然后"关键字。其次,您的代码逻辑似乎关闭了。您想要的是

for i in [0...listItems.length]
   return i if listItems[i] is window.location.pathname

它也比一条复杂的线容易得多: - )

最新更新