Coffeescript 咖啡脚本中的简单for循环不起作用

Coffeescript 咖啡脚本中的简单for循环不起作用,coffeescript,Coffeescript,这可能是一个答案非常简单的问题,但我无法理解为什么这不起作用 sort = (arr) -> word for word in arr if word is 'some word' console.log 'word present' 我只想做的是console.log,数组中有一个单词,但我刚刚得到一个单词 Parse error on line 4: Unexpected 'INDENT' 请有人解释一下,或者给我一个提示,为

这可能是一个答案非常简单的问题,但我无法理解为什么这不起作用

sort = (arr) ->
    word for word in arr
        if word is 'some word'
                console.log 'word present'
我只想做的是console.log,数组中有一个单词,但我刚刚得到一个单词

Parse error on line 4: Unexpected 'INDENT'
请有人解释一下,或者给我一个提示,为什么这不起作用。
谢谢:)

您的代码应该是这样的。(仔细观察循环):

或速记:

sort = (arr) ->
    for word in arr when word is 'some word'
        console.log 'word present'
您尝试使用的语法是为了理解

下面是一个示例,您可以保存匹配的数组中每个元素的第一个字母:

sort = (arr) ->
    firstLetter = (word[0] for word in arr when word is 'some word')
编辑:
结合上面的例子:

sort = (arr) ->
    console.log word for word in arr when word is 'some word'

您的代码应该如下所示。(仔细观察循环):

或速记:

sort = (arr) ->
    for word in arr when word is 'some word'
        console.log 'word present'
您尝试使用的语法是为了理解

下面是一个示例,您可以保存匹配的数组中每个元素的第一个字母:

sort = (arr) ->
    firstLetter = (word[0] for word in arr when word is 'some word')
编辑:
结合上面的例子:

sort = (arr) ->
    console.log word for word in arr when word is 'some word'

我想肯定有空白issue@The-Val不,这不是问题,是环路的问题我想肯定有空白issue@The-Val不,这不是问题,问题在于loopNote:我总是发现在coffeescript主页上使用“Try coffeescript”选项很有帮助。它能让你快速了解实际发生的事情。谢谢!刚开始喝咖啡,但你的回答很有帮助@很高兴我能帮上忙。CoffeeScript非常棒,但真正了解它需要一点时间。注意:我总是发现在CoffeeScript主页上使用“Try CoffeeScript”选项很有帮助。它能让你快速了解实际发生的事情。谢谢!刚开始喝咖啡,但你的回答很有帮助@很高兴我能帮上忙。咖啡脚本很棒,但真正了解它需要一点时间。