I与えられた文字列の各単語の数をカウントするために、次のコードを持っている:は、オブジェクト内の値のインスタンスを数える(array.reduceの初期値)
function countWords(str) {
if (str === "") {
return {};
}
var holder = str.split(" ");
var holder1 = holder.reduce(function (allNames, name) {
if (name in allNames) {
allNames[name]++;
}
else {
allNames[name] = 1;
}
return allNames;
}, {});
return holder1;
}
countWords("Here I I am here here");
私はコード内で起こっているすべてを理解私は空のオブジェクトを持っていない限り、私のテストのどれも通過しない理由を理解できません{}
カンマの後に18行目に位置しています。誰かがこれの目的を説明できますか?前もって感謝します。
*低減するオプションの第2引数はアキュムレータまたは* previousValue *の初期値であり、[* ECMA-262 *]を参照(HTTP:// ECMAインターナショナル.org/ecma-262/7.0/index.html#sec-array.prototype.reduce)または[* MDN *](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/ Global_Objects/Array/Reduce)。 – RobG