我目前正在尝试从eloquentjavascript中学习,但现在我只是陷入困境,因为我无法弄清楚示例中的代码是如何工作的。
这是第4章,第一个计算来自JOURNAL文件的核心化的函数:
function hasEvent(event, entry){
return entry.events.indexOf(event) !=-1;
}
function tableFor(event, journal){
var table =[0,0,0,0];
for (var i=0; i<journal.length;i++){
var entry = journal [i], index=0;
if (hasEvent(event, entry)) index++;
if (entry.squirrel) index +=2;
table[index]+=1;
}
return table;
}
console.log(tableFor("pizza", JOURNAL));
//[76,9,4,1]
我不理解for的构造,特别是填充和添加索引。它有多重要?为什么它不是index = 0,index = 1,index = 2,index = 3?