Javascript 显示react中单个项目的总和
我想显示单个项的名称及其总和。你能帮帮我吗Javascript 显示react中单个项目的总和,javascript,reactjs,Javascript,Reactjs,我想显示单个项的名称及其总和。你能帮帮我吗 const meals = [ { calorie: 10, diet: 'Chicken', day: 1 }, { calorie: 15, diet: 'Soya', day: 2 }, { calorie: 20, diet: 'Chicken', day: 3 }, { calorie: 25,
const meals = [
{ calorie: 10,
diet: 'Chicken',
day: 1
},
{ calorie: 15,
diet: 'Soya',
day: 2
},
{ calorie: 20,
diet: 'Chicken',
day: 3
},
{ calorie: 25,
diet: 'Soya',
day: 4
}
];
我的输出:
饮食总量(鸡)为=30(10+20)
饮食总量(大豆)为40(15+25)
我想显示饮食名称和总热量,如下所示
Chicken = 30
Soya = 40
你可以使用这个方法
const膳食=[{
卡路里:10,
饮食:“鸡肉”,
日期:1
},
{
卡路里:15,
饮食:“大豆”,
日期:2
},
{
卡路里:20,
饮食:“鸡肉”,
日期:3
},
{
卡路里:25,
饮食:“大豆”,
日期:4
}
];
常量输出=膳食。减少((acc,cur)=>{
如果(!acc[cur.diet])acc[cur.diet]=0;
acc[当前饮食]+=当前卡路里
返回acc;
}, {});
控制台日志(输出)代码>您可以使用方法
const膳食=[{
卡路里:10,
饮食:“鸡肉”,
日期:1
},
{
卡路里:15,
饮食:“大豆”,
日期:2
},
{
卡路里:20,
饮食:“鸡肉”,
日期:3
},
{
卡路里:25,
饮食:“大豆”,
日期:4
}
];
常量输出=膳食。减少((acc,cur)=>{
如果(!acc[cur.diet])acc[cur.diet]=0;
acc[当前饮食]+=当前卡路里
返回acc;
}, {});
控制台日志(输出)代码>您可以使用对象来存储每个饮食的总和
const膳食=[
{卡路里:10,
饮食:“鸡肉”,
日期:1
},
{卡路里:15,
饮食:“大豆”,
日期:2
},
{卡路里:20,
饮食:“鸡肉”,
日期:3
},
{卡路里:25,
饮食:“大豆”,
日期:4
}
];
const res=膳食。减少((acc,{卡路里,饮食})=>
(acc[饮食]=(acc[饮食]| 0)+卡路里,acc),{};
for(常数键在res中){
log(键“=”,res[key]);
}
您可以使用对象来存储每个饮食的总和
const膳食=[
{卡路里:10,
饮食:“鸡肉”,
日期:1
},
{卡路里:15,
饮食:“大豆”,
日期:2
},
{卡路里:20,
饮食:“鸡肉”,
日期:3
},
{卡路里:25,
饮食:“大豆”,
日期:4
}
];
const res=膳食。减少((acc,{卡路里,饮食})=>
(acc[饮食]=(acc[饮食]| 0)+卡路里,acc),{};
for(常数键在res中){
log(键“=”,res[key]);
}
可以使用
const-feeds=[{卡路里:10,饮食:鸡肉,一天:1},{卡路里:15,饮食:大豆,一天:2},{卡路里:20,饮食:鸡肉,一天:3},{卡路里:25,饮食:大豆,一天:4}]
const calculateSum=(data)=>data.reduce((res{
卡路里
饮食
}) => {
//添加/更新键为'diet'的对象
//将卡路里与之前的值相加,
//如果对象不在'res'对象中,则将卡路里添加到'0'中`
res[饮食]=(res[饮食]| 0)+卡路里;
返回res;
}, {})
console.log(calculateSum(膳食))代码>可以使用
const-feeds=[{卡路里:10,饮食:鸡肉,一天:1},{卡路里:15,饮食:大豆,一天:2},{卡路里:20,饮食:鸡肉,一天:3},{卡路里:25,饮食:大豆,一天:4}]
const calculateSum=(data)=>data.reduce((res{
卡路里
饮食
}) => {
//添加/更新键为'diet'的对象
//将卡路里与之前的值相加,
//如果对象不在'res'对象中,则将卡路里添加到'0'中`
res[饮食]=(res[饮食]| 0)+卡路里;
返回res;
}, {})
console.log(calculateSum(膳食))
是否可以像Chicken=30和Soya=40那样显示而不是作为对象返回?不确定您的目的,但您可以只访问output.Chicken和output.Soyaok,谢谢您的建议。是否可以像Chicken=30和Soya=40那样显示而不是作为对象返回?不确定您的目的,但是你可以访问输出。鸡肉和输出。Soyaok,谢谢你的建议。我的答案对你有用吗?是的,谢谢我的答案对你有用吗?是的,谢谢