私は関数と配列を持っているとしましょう。私は配列の各エントリに関数を適用して配列を変更したい。この関数は値を直接変更しません。新しい値を返します。擬似コードでnode.jsまたはJavaScriptで配列をマップするきれいな方法
、
for (entry in array) {
entry = function(entry);
}
私に起こったこと、これを行うにはカップルの方法があります。
for (var i = 0; i < arr.length; i++) {
arr[i] = fn(i);
}
それとも、私がNode.jsのを使用していますので内蔵のアンダースコアを持っています:
arr = _.map(arr, fn);
しかし、これはどちらもちょっとちがうようです。標準の "for"ブロックは過度に冗長であり、_map関数は配列全体を再割り当てして非効率に感じます。
どうすればよいですか?
はい、私はこれをoverthinkingよ:)
パフォーマンス上の問題であることが確実にわかるまで、アンダースコア機能を使用してください。それは非常に読みやすく、きれいなので、実際に問題がなければ、あなたの「非効率性」はより緊急な問題に進むことを妨げません。 – PatrikAkerstrand
完全に真実です!それにもかかわらず、私はちょうど興味があります。 – Eric