問題を処理中です。私はこの問題を解決するために質問する正しい質問を知らない。私は必要な結果が得られているように思っていますが、ソリューションの検証問題は機能しません。私はそれを正しく解決しているかどうかはわかりません。基本的には配列が与えられていて、特定の成分をスライスして配列から要素を除外しなければなりません。異なる配列をスライスして選択した値を返す
質問:「使用している要素のみを使用するように、冒頭から取得した要素の配列のスライスを作成する必要があります。命令は何も言わない、我々は最初の要素を取るだけです。
var hammerIngredients = ['iron', 'granite', 'copper'];
var spearIngredients = ['iron', 'granite', 'copper'];
var panIngredients = ['iron', 'granite', 'copper'];
take(hammerIngredients); // returns ['iron']
take(spearIngredients, 2); // returns ['iron', 'granite']
take(panIngredients, 3); // return ['iron', 'granite', 'copper']
「命令が列挙された要素よりも多くを使用することを言えば、私たちは、アレイ内のすべての要素を使用しています。命令が要素を使用しないように言えば、私たちは空の配列を返します。」
var plateIngredients = ['iron', 'granite', 'copper'];
take(plateIngredients, 0); // returns []
私はプログラムを実行しようとしており、以下を行っています。それは動作するように見えますが、私がそれを検証しようとすると、無効であるとわかります。
function take(ingredients, slicer) {
if (arguments.length === 1) {
slicer = 1;
}
if (ingredients === hammerIngredients){
return ingredients.slice(0, slicer);
} else if(ingredients === spearIngredients) {
return ingredients.slice(0,slicer);
} else if (ingredients === panIngredients) {
return ingredients.slice(0,slicer);
} else if (ingredients === plateIngredients) {
return ingredients.slice(0,slicer)
} else {
return;
}
}
そして、私には理由が分かりません。助けてください!
スライサー= 0の場合、私はちょうど最初の要素ではない空の配列を返す必要があります。 – JonathanMitchell
投稿した例では、ゼロのスライサーは空の配列を返します... take(plateIngredients、0); // returns [] – JordanHendrix
はい、スライサーがないと、最初の要素だけを取ることになります。ハンマーでは、どちらが鉄としか呼べないのでしょうか? – JonathanMitchell