Javascript 筛选数组以显示所需值时不执行代码

Javascript 筛选数组以显示所需值时不执行代码,javascript,Javascript,我想在控制台中显示价格高于10的食品的名称和价格,但我会遇到一个错误 let菜单=[ {id:1,名称:“苏打”,价格:3.12,尺码:“4盎司”,类型:“饮料”}, {id:2,名称:“啤酒”,价格:6.50,尺码:“8盎司”,类型:“饮料”}, {id:3,名称:“玛格丽塔”,价格:12.99,尺码:“12盎司”,型号:“饮料”}, {id:4,名称:“比萨饼”,价格:25.10,尺寸:“60盎司”,类型:“食品”}, {id:5,名称:“烤肉串”,价格:31.48,尺寸:“42盎司”,类

我想在控制台中显示价格高于10的食品的名称和价格,但我会遇到一个错误

let菜单=[
{id:1,名称:“苏打”,价格:3.12,尺码:“4盎司”,类型:“饮料”},
{id:2,名称:“啤酒”,价格:6.50,尺码:“8盎司”,类型:“饮料”},
{id:3,名称:“玛格丽塔”,价格:12.99,尺码:“12盎司”,型号:“饮料”},
{id:4,名称:“比萨饼”,价格:25.10,尺寸:“60盎司”,类型:“食品”},
{id:5,名称:“烤肉串”,价格:31.48,尺寸:“42盎司”,类型:“食品”},
{id:6,名称:“伯杰”,价格:23.83,尺码:“99盎司”,型号:“食品”},
];
常量maxPriceFood=()=>{
for(让菜单的值){
for(让菜单的值。价格)
如果(值>10&&type==“食物”){
return`name food:${menu.name}price food:${menu.price}`
}
}
};

console.log(maxPriceFood())menu.price不可编辑(不像menu是数组)

您可以重构该方法以如下方式工作:

for (let menuItem of menu) {
    if (menuItem.price > 10 && menuItem.type === "Food") {
        return `name food : ${menuItem.name} price food : ${menuItem.price}`
    }
}
另一个更简单的选择是使用数组内置函数:(filter和forEach)


menu.price不可编辑(不像menu是数组)

您可以重构该方法以如下方式工作:

for (let menuItem of menu) {
    if (menuItem.price > 10 && menuItem.type === "Food") {
        return `name food : ${menuItem.name} price food : ${menuItem.price}`
    }
}
另一个更简单的选择是使用数组内置函数:(filter和forEach)

您可以使用和获取并展示价格超过10美元的食品:

let菜单=[
{id:1,名称:“苏打”,价格:3.12,尺码:“4盎司”,类型:“饮料”},
{id:2,名称:“啤酒”,价格:6.50,尺码:“8盎司”,类型:“饮料”},
{id:3,名称:“玛格丽塔”,价格:12.99,尺码:“12盎司”,型号:“饮料”},
{id:4,名称:“比萨饼”,价格:25.10,尺寸:“60盎司”,类型:“食品”},
{id:5,名称:“烤肉串”,价格:31.48,尺寸:“42盎司”,类型:“食品”},
{id:6,名称:“伯杰”,价格:23.83,尺码:“99盎司”,型号:“食品”},
];
常量maxPriceFood=()=>{
//购买价格超过10英镑的物品
const itemsOver10=menu.filter(item=>item.price>10&&item.type==“Food”);
returnitemsover10.map(item=>`name food:${item.name}price food:${item.price}`);
};
console.log(maxPriceFood())您可以使用和获取并显示价格超过10美元的食品:

let菜单=[
{id:1,名称:“苏打”,价格:3.12,尺码:“4盎司”,类型:“饮料”},
{id:2,名称:“啤酒”,价格:6.50,尺码:“8盎司”,类型:“饮料”},
{id:3,名称:“玛格丽塔”,价格:12.99,尺码:“12盎司”,型号:“饮料”},
{id:4,名称:“比萨饼”,价格:25.10,尺寸:“60盎司”,类型:“食品”},
{id:5,名称:“烤肉串”,价格:31.48,尺寸:“42盎司”,类型:“食品”},
{id:6,名称:“伯杰”,价格:23.83,尺码:“99盎司”,型号:“食品”},
];
常量maxPriceFood=()=>{
//购买价格超过10英镑的物品
const itemsOver10=menu.filter(item=>item.price>10&&item.type==“Food”);
returnitemsover10.map(item=>`name food:${item.name}price food:${item.price}`);
};

console.log(maxPriceFood())您正在执行一个额外的循环。 在我的示例中,第一个循环在变量“entry”中声明列表中的每个实例,并比较它们的价格

此外,如果您执行返回操作,您将退出该功能,而不检查其余的价格

let菜单=[
{id:1,名称:“苏打”,价格:3.12,尺码:“4盎司”,类型:“饮料”},
{id:2,名称:“啤酒”,价格:6.50,尺码:“8盎司”,类型:“饮料”},
{id:3,名称:“玛格丽塔”,价格:12.99,尺码:“12盎司”,型号:“饮料”},
{id:4,名称:“比萨饼”,价格:25.10,尺寸:“60盎司”,类型:“食品”},
{id:5,名称:“烤肉串”,价格:31.48,尺寸:“42盎司”,类型:“食品”},
{id:6,名称:“伯杰”,价格:23.83,尺码:“99盎司”,型号:“食品”},
];
常量maxPriceFood=()=>{
设maxPrices=[];
for(让我们进入菜单){
如果(entry.price>10&&entry.type==“食品”){
push(`name food:${entry.name}price food:${entry.price}`);
}
}
退货价格;
};

console.log(maxPriceFood())您正在执行一个额外的循环。 在我的示例中,第一个循环在变量“entry”中声明列表中的每个实例,并比较它们的价格

此外,如果您执行返回操作,您将退出该功能,而不检查其余的价格

let菜单=[
{id:1,名称:“苏打”,价格:3.12,尺码:“4盎司”,类型:“饮料”},
{id:2,名称:“啤酒”,价格:6.50,尺码:“8盎司”,类型:“饮料”},
{id:3,名称:“玛格丽塔”,价格:12.99,尺码:“12盎司”,型号:“饮料”},
{id:4,名称:“比萨饼”,价格:25.10,尺寸:“60盎司”,类型:“食品”},
{id:5,名称:“烤肉串”,价格:31.48,尺寸:“42盎司”,类型:“食品”},
{id:6,名称:“伯杰”,价格:23.83,尺码:“99盎司”,型号:“食品”},
];
常量maxPriceFood=()=>{
设maxPrices=[];
for(让我们进入菜单){
如果(entry.price>10&&entry.type==“食品”){
push(`name food:${entry.name}price food:${entry.price}`);
}
}
退货价格;
};
console.log(maxPriceFood())1。数字不可编辑(
for(让menu.price的值)
)。2.您没有使用外部
值(
for(让菜单的值)
)执行任何操作。3.这不是一个筛选操作,而是一个只返回一个结果的查找操作。4.您有一个未声明的变量(
类型
)。也许您的意思是什么,但从目前的问题来看很难说。1。数字不可编辑(
for(让menu.price的值)
)。2.您没有使用外部
值(
for(让菜单的值)
)执行任何操作。3.这不是一个筛选操作,而是一个只返回一个结果的查找操作。4.您有一个未声明的变量(
类型
)。也许您的意思是什么,但从目前的问题来看很难说。