Как можно сортировать "Напитки' по пустым массивам
Код:
let menu=["Americano","Espresso","Latte","Capucino","Orange","Apple","Cherry","Mango","Green Tee","Black Tee","English Breakdast","Puer"];
let jucie=[];
let coffee=[];
let tee=[];
let sortt=function(a){
for(let i=0;i<a.length;i++){
menu.sort()
console.log(menu)
}
}
sortt(menu)
Ответы (2 шт):
Автор решения: Алексей Р
→ Ссылка
Почему бы просто не сделать словарь? В общем, можно обойтись и без отдельных (избыточных) переменных, но можно и с ними.
let menu = {
"coffee": ["Americano", "Espresso", "Latte", "Capucino"],
"juice": ["Orange", "Apple", "Cherry", "Mango"],
"tea": ["Green tea", "Black tea", "English Breakdast", "Puer"]
};
// в общем-то избыточные переменные
let juice = menu['juice'];
let coffee = menu['coffee'];
let tea = menu['tea'];
console.log(`Соки: ${juice}`);
console.log(`Кофе: ${coffee}`);
console.log(`Чай: ${tea}`);
// если нужно вывести полный список без группировки
let menu_list = Object.values(menu).reduce((a, c) => c + a, []);
console.log(`Полное меню в списке: ${menu_list}`)
Автор решения: hedgehogues
→ Ссылка
Вы можете сортировать элементы массива menu с помощью метода sort, как вы уже сделали. Однако, этот код не будет разбивать элементы массива menu на разные массивы jucie, coffee и tee, так как это не прописано в функции sortt.
Чтобы разбить элементы массива menu на три разных массива, вам нужно добавить код, который будет проверять каждый элемент массива menu и определять, к какому типу напитков он относится. Например, элемент "Espresso" можно добавить в массив coffee, а элемент "Orange" можно добавить в массив jucie.
let sortt = function(a) {
for (let i = 0; i < a.length; i++) {
if (a[i].includes("Tea")) {
tee.push(a[i]);
} else if (a[i].includes("Coffee")) {
coffee.push(a[i]);
} else {
juice.push(a[i]);
}
}
}
sortt(menu);
console.log(juice); // ["Orange", "Apple", "Cherry", "Mango"]
console.log(coffee); //