2017-04-13 1 views
-3

を取る!forEachのは、私は:(それを理解していないので、私は助けてください。この問題のための助けを必要とアレイとコールバック

機能しますforeachが配列し、コールバックを取る。これは、各要素に対してコールバックを実行します配列の - そしてそれはそれだ

var alphabet = ''; 
var letters = ['a', 'b', 'c', 'd']; 
forEach(letters, function(char) { 
    alphabet += char; 
}); 
console.log(alphabet); //prints 'abcd' 


**(underneath is is where I edit)** 



// Challenge 4 
function forEach(array, callback) { 

} 

// see for yourself if your forEach works! 
+0

たぶん、あなたがしようとしたものの一例を設置しましたまたはあなたが立ち往生している場所。 – theWanderer4865

+2

具体的に何を理解していないのですか?配列をループする方法を知っていますか?関数を呼び出す方法と関数に引数を与える方法を知っていますか?あなたはその質問の基本的な原則を理解していませんか?つまり、命令で使用されている単語の1つ以上を理解していない、「配列の各要素でコールバックを実行していますか?私はあなたの質問にあるコードがあなたが書かなかった定型文であることをあなたが知っているか知らないということは知らないというテキスト "Challenge 4"から推測します。 – apsillers

+0

特定の入力が与えられたときに期待される出力は何ですか? –

答えて

0

私はあなたが達成したい内容を正確に把握していないが、あなたのコードではJavaScript慣用的ではありません...

すでにそのforEach方法を提供し、コアJavaScript言語!あなたは直接使用することができます。 llowingページ:Array.prototype.forEach()

あなたがforEachを使用する場合は、あなたのコードは次のようになります。

var alphabet = '', 
    letters = ['a', 'b', 'c', 'd']; 

letters.forEach(function (letter) { 
    alphabet += letter; 
}); 

console.log(alphabet); 

しかし、あなたはパフォーマンスの漏洩を懸念している場合は、代わりにキャッシュされた長さで、伝統的なforループを使用することもできます。

ES6のおかげで、アレイのような反復可能なオブジェクトに対してfor...ofループを使用することもできます。これは、近代的なJavaScriptアプリケーションで推奨命令です:

let alphabet = '', 
    letters = ['a', 'b', 'c', 'd']; 

for (const letter of letters) { 
    alphabet += letter; 
} 

console.log(alphabet); 

しかし、開発者は、時には怠け者なので、最良の答えは、おそらくこのいずれかです。

var letters = ['a', 'b', 'c', 'd'], 
    alphabet = letters.join(''); 

console.log(alphabet); 
+0

ありがとうございました! –

関連する問題