Вот вызов: Напишите функцию, которая принимает массив фруктов и возвращает массив цветов, который можно найти в этом массиве. Плоды того же цвета возвращают одинаковое значение, но не повторяются.Javascript: Я пытаюсь использовать оператор switch для перевода строк в новый массив.
Например:
whatFruitColors(['apple', 'orange', 'mango']);
// returns ['red', 'orange']
Я пытаюсь решить эту проблему с помощью переключателя заявление, потому что я хотел бы использовать «осень-Through», чтобы обработать все заявления. Может кто-нибудь, пожалуйста, скажите мне, что я делаю неправильно?
var whatFruitColors = function(fruitArray){
var fruitColors = [];
switch(fruitArray){
case fruitArray.indexOf('pineapple' || 'banana') > -1):
fruitColors.push('yellow');
case fruitArray.indexOf('mango' || 'orange') > -1):
fruitColors.push('orange');
case fruitArray.indexOf('apple') > -1):
fruitColors.push('red');
break;
}
console.log(fruitColors);
return fruitColors;
}
whatFruitColors(['pineapple','banana','apple','mango','orange']);
Это поражает меня как самого близкого по духу запрошенному шаблону OP. – Tom
* «Если вам нужно гораздо менее элегантное решение» * - Это интересный способ выразить это. Хотя я согласен с тем, что это ближе к тому, что, по-видимому, имел в виду ОП. Возможно, я бы использовал оператор switch для установки временной переменной currentColour = red и ' 'после переключения - всего лишь немного меньше повторений. – nnnnnn