gpt4 book ai didi

Javascript 数组对两个对象进行排序(菜鸟)

转载 作者:行者123 更新时间:2023-12-03 02:09:29 27 4
gpt4 key购买 nike

所以我有一个包含两个对象的数组,如下所示:

Array(4)
0:{Activity: "Skiing", Duration: 74}
1:{Activity: "Strength training", Duration: 64}
2:{Activity: "Cycling", Duration: 64}
3:{Activity: "Running", Duration: 43}

输入来自用户,该用户从四种不同的事件中选择一种,然后写下锻炼持续了多长时间。

我想要做的是以求和“持续时间”的方式对它们进行排序,而不是创建一个新的数组元素。

因此,如果用户输入“事件”和“持续时间”,数组将找到正确的事件并增加持续时间以给出总持续时间。例如如果

“事件”:“滑雪”,“持续时间”= 10

将持续时间更新为“84”

Array(4)
0:{Activity: "Skiing", Duration: 84}
1:{Activity: "Strength training", Duration: 64}
2:{Activity: "Cycling", Duration: 64}
3:{Activity: "Running", Duration: 43}

如果有人能帮助我,我将不胜感激。

最佳答案

使用.find,然后更新找到的对象:

const arr = [
{Activity: "Skiing", Duration: 74},
{Activity: "Strength training", Duration: 64},
{Activity: "Cycling", Duration: 64},
{Activity: "Running", Duration: 43},
];

const inputActivity = 'Cycling';
const inputDuration = 33;
const foundObj = arr.find(({ Activity }) => Activity === inputActivity);
if (foundObj) foundObj.Duration += inputDuration;
console.log(arr);

关于Javascript 数组对两个对象进行排序(菜鸟),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49640456/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com