Я работаю над проблемой. Я не знаю правильного вопроса, чтобы спросить, чтобы решить эту проблему. Я получил то, что кажется требуемым результатом, но проблема проверки для решения не работает. Я не уверен, правильно ли я его решу. В основном мне присваивается массив, и я должен отфильтровывать элементы из этого массива, нарезая определенные ингредиенты.разрезать различные массивы и вернуть выбранные значения
вопрос: «Мы используем только те элементы, о которых говорит нам инструкция. Итак, нам нужно создать срез данного массива элементов (взятых с самого начала), чтобы они напоминали только те элементы, которые мы используем. инструкция ничего не говорит, мы берем только первый элемент ».
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;
}
}
И я понятия не имею, почему. Помоги пожалуйста!
Если slicer = 0, я должен вернуть только первый элемент, а не пустой массив. – JonathanMitchell
В примере, который вы опубликовали, slicer of zero возвращает пустой массив ... take (plateIngredients, 0); // возвращает [] – JordanHendrix
Да, но отсутствие слайсера будет означать, что вы берете только первый элемент. Который в названии молотка будет только железным. – JonathanMitchell