【发布时间】:2022-11-10 15:53:53
【问题描述】:
下面有一个名为 cricket mania 的对象,由不同国家的净跑分和得分组成。我正在尝试用JS编写代码,首先根据他们的积分对球队进行排序,如果他们有相同的积分,则使用Net Run作为 决胜局。在我们的案例中,孟加拉国和尼泊尔得分相同,因此我们将考虑这两个国家的净运行,即孟加拉国的 -1.176 和尼泊尔的 -0.849。由于尼泊尔的净跑数最高,我们将尼泊尔的净跑数排在第一位。我已经对这些点进行了排序,但我无法弄清楚如何使用网络运行来替换相似的点。我需要以下数组登录到控制台 [ '3', '4', '5', '6', '-0.849', '-1.176' ].我肯定会感谢这个社区的人们花时间来解决我被困住的这个小疑问在这个学习过程中,如果有人能帮助我,我会非常高兴:)
This is the link to my codepen
``
const cricketMania = {
India: {
netRuns: "1.319",
points: "8"
},
Pakistan: {
netRuns: "1.028",
points: "6"
},
Saudi: {
netRuns: "0.874",
points: "5"
},
Nepal: {
netRuns: "-0.849",
points: "4"
},
Bangladesh: {
netRuns: "-1.176",
points: "4"
},
Zimbabwe: {
netRuns: "-1.138",
points: "3"
}
};
var point = []; // [ '8', '6', '5', '8', '4', '3' ]
for (let m in cricketMania) {
point.push(cricketMania[m]["points"]);
}
var sortedpoints = point.sort((a, b) => a - b);
document.write(sortedpoints); //[ '3', '4', '5', '6', '8', '8' ]
``
【问题讨论】:
-
请花一些时间使您的要求和代码更清晰。您代码中的 cmets 与代码生成的实际值不匹配。由于孟加拉国和尼泊尔的值为 4,因此将他们的净跑分放在数组的末尾(得分较高的球队之后)没有意义。此外,您对所需输出的要求只会给您数字,大概您希望对整个团队的数据进行排序,对吗?
标签: javascript arrays object properties