【发布时间】:2015-04-20 20:44:09
【问题描述】:
sheet = [1,2,3,4,5,6,7,8,9,10]
myArray = []
batchSize = 0
sheetSize = sheet.length
eat = (item) ->
loop
batchSize++
sheetSize--
myArray.push item
break unless batchSize < 2 or sheetSize > 0
batchSize = 0
document.write "myArray", myArray
myArray = []
eat item for item in sheet
http://codepen.io/nottinhill/pen/dobXvE
我想打印上面的代码:
1,2
3,4
5,6
7,8
9,10
但是它不起作用,unlabeled break must be in loop 失败
【问题讨论】:
-
我收到
unexpected indentation警告。此外,该算法可能不会那样工作。你想“吃掉”数组的内容吗?那么...可能会派上用场,如果您不关心变量的大小。如果你想要更多的变量,看看Array.slice -
完全忘记了递归。这就是在传统媒体公司工作对你的影响。
-
@PatrickJ.S.您的第二个算法非常优雅,使用了许多我不知道的 CoffeeScript 语法。将其作为下面的答案进行解释,我会给你答案,或者如果你能解释一下“start if start”是如何工作的。