#javascript
Вопрос:
Итак, я нахожусь в учебном лагере по программированию и нахожусь на 4-й неделе. Мне это нравится, но временами я чувствую себя подавленным. Это часть процесса обучения, хотя, так что я хорошо с этим справляюсь. В любом случае, я изучал JavaScript последние 4 дня, и наша домашняя работа состоит в том, чтобы составить меню закусочной.
Мы узнали, как размещать объекты сегодня, а циклы по каждому элементу вчера и функции стрелок, которые, я думаю, тоже были вчера. Они мне очень нравятся, и я хочу, чтобы этот проект был как можно более динамичным. Однако у меня возникли проблемы с размещением моего главного меню в консоли. Я нашел, возможно, решение на этом сайте, но я не могу заставить его работать. Может быть, мне следует просто сделать все это более простым способом, но я действительно хочу, чтобы мои пункты меню были вложены так, как они есть. Вот что у меня есть на данный момент.
console.log ("Welcome to HotHamTawk!")
console.log ("Where there are only three options and a few sides but that's it because it's dirt cheap and we don't care. And we don't make change!")
console.log ( "Now pick your first item already, people are waiting!")
const render = ({name, price}) => {
return(`${name} => ${price}.00`)
}
function resetValuesToZero (obj) {
Object.keys(obj).forEach(function (key) {
if (typeof obj[key] === 'object') {
return resetValuesToZero(obj[key]);
}
obj[key] = 0;
});
}
const main = {
hotdog : {name : "Hotdog" , price : 1},
hamburger : {name : "Hamburger" , price : 2},
taco : {name : "Taco" , price : 1}
}
const side = {
beans : {name : "Beans" , price : 1},
chili : {name : "Chili" , price : 1},
soda : {name : "Soda" , price : 1}
}
console.log(main.hamburger.taco.name); // 70
resetValuesToZero(main);
console.log(main.hamburger.taco.name); // 0
// console.log(render(main.key))
Поэтому прямо сейчас я пытаюсь получить запрос на вывод, в котором будет сказано:
Hotdog => $1.00
Hamburger => $2.00
Taco => $1.00
Ответ №1:
В вашем коде много проблем, поэтому я его переписал.
console.log ("Welcome to HotHamTawk!")
console.log ("Where there are only three options and a few sides but that's it because it's dirt cheap and we don't care. And we don't make change!")
console.log ( "Now pick your first item already, people are waiting!")
const render = type => {
const output = [`${type} Menu:`];
Object.values(menu[type]).forEach(({name, price}) => {
output.push(`${name} => ${price.toFixed(2)}`);
});
return output.join('n');
}
const main = {
hotdog : {name : "Hotdog" , price : 1},
hamburger : {name : "Hamburger" , price : 2},
taco : {name : "Taco" , price : 1}
};
const side = {
beans : {name : "Beans" , price : 1},
chili : {name : "Chili" , price : 1},
soda : {name : "Soda" , price : 1}
};
const menu = {
'Main' : main,
'Side' : side
};
console.log(render('Main'));
console.log(render('Side'));
Комментарии:
1. Спасибо! Это прекрасно и именно то, что мне было нужно!