単純な例では、配列の配列を返したい。 'peeps'の各名前については、 'hello'という単語の配列をアキュムレータにプッシュしたいと思います。.reduce()関数でアキュムレータにプッシュした結果を返すことができないのはなぜですか?
const peeps = ['sally', 'nick', 'dave'];
return peeps.reduce((acc, val) => {
return acc.push(['hello'])
}, []);
acc.push()は関数ではありません。
誰かがなぜこれがうまくいかないのか理解してもらえますか?
私はreduce関数内に空の配列を作成し、それをプッシュして代わりに配列を返すことができることを認識しています。しかし、私はそれが少しハックのように感じることなく動作しない理由を理解したいと思います。 –
あなたは 'acc.concat(['hello']);'を返すことができます。 –
'それぞれの名前に対して' ... forEachまたはmapはこの場合、より良いオプションのように見えます。減らすのは...まあ...減らす配列ですか? – sinisake