【发布时间】:2017-11-27 11:28:50
【问题描述】:
我有一个需要执行任务的对象数组。
如果不使用 sort() 方法,我需要根据谁投票给 Trump 和谁投票给 Hillary 对数组中的对象进行排序。
此外,我需要找到投票支持特朗普最多的五个州,并找到投票支持希拉里最多的五个州。
这是数组:
var states = [{
stateName: "Delaware",
votesForHillary: 14,
votesForTrump: 123,
population: 925749
}, {
stateName: "Pennsylvania",
votesForHillary: 240,
votesForTrump: 1,
population: 12773801
}, {
stateName: "New Jersey",
votesForHillary: 124,
votesForTrump: 15,
population: 8899339
}, {
stateName: "Georgia",
votesForHillary: 12,
votesForTrump: 353,
population: 9992167
}, {
stateName: "Connecticut",
votesForHillary: 23,
votesForTrump: 135,
population: 3596080
}, {
stateName: "Massachusetts",
votesForHillary: 50,
votesForTrump: 53,
population: 6692824
}, {
stateName: "Maryland",
votesForHillary: 424,
votesForTrump: 23,
population: 600000
}, {
stateName: "South Carolina",
votesForHillary: 0,
votesForTrump: 1,
population: 4774839
}, {
stateName: "New Hampshire",
votesForHillary: 34,
votesForTrump: 14,
population: 1323459
}, {
stateName: "Virginia",
votesForHillary: 233,
votesForTrump: 153,
population: 8260405
}, {
stateName: "New York",
votesForHillary: 253,
votesForTrump: 15,
population: 19651127
}, {
stateName: "North Carolina",
votesForHillary: 5,
votesForTrump: 404,
population: 600000
}, {
stateName: "Rhode Island",
votesForHillary: 4,
votesForTrump: 6,
population: 1051511
}, {
stateName: "Vermont",
votesForHillary: 23,
votesForTrump: 54,
population: 626630
}, {
stateName: "Kentucky",
votesForHillary: 46,
votesForTrump: 647,
population: 4395295
}, {
stateName: "Tennessee",
votesForHillary: 44,
votesForTrump: 600,
population: 6495978
}, {
stateName: "Ohio",
votesForHillary: 35,
votesForTrump: 45,
population: 11570808
}, {
stateName: "Louisiana",
votesForHillary: 65,
votesForTrump: 56,
population: 4625470
}, {
stateName: "Indiana",
votesForHillary: 21,
votesForTrump: 12,
population: 6570902
}, {
stateName: "Mississippi",
votesForHillary: 340,
votesForTrump: 151,
population: 2991207
}, {
stateName: "Illinois",
votesForHillary: 114,
votesForTrump: 53,
population: 12882135
}, {
stateName: "Alabama",
votesForHillary: 35,
votesForTrump: 1351,
population: 4833722
}, {
stateName: "Maine",
votesForHillary: 1,
votesForTrump: 2,
population: 1328302
}, {
stateName: "Missouri",
votesForHillary: 240,
votesForTrump: 15,
population: 6044171
}, {
stateName: "Arkansas",
votesForHillary: 53,
votesForTrump: 153,
population: 2959373
}, {
stateName: "Michigan",
votesForHillary: 35,
votesForTrump: 647,
population: 600000
}, {
stateName: "Florida",
votesForHillary: 46,
votesForTrump: 474,
population: 19552860
}, {
stateName: "Texas",
votesForHillary: 0,
votesForTrump: 0,
population: 26448193
}, {
stateName: "Iowa",
votesForHillary: 436,
votesForTrump: 123,
population: 3090416
}, ];
这是我使用 sort() 方法的方式。
states.sort(function (a, b) {
return b.votesForTrump - a.votesForTrump;
});
这不是家庭作业,而是我试图理解的挑战。
【问题讨论】:
-
为什么不排序?有原因吗?
-
到目前为止你尝试过什么?家庭作业已经是一个有点争议的话题,但如果没有你的任何尝试,你很可能不会得到任何答案。
-
为什么你不使用支持方法是有问题的,并且使这个问题听起来像家庭作业或类似的问题。如果是这种情况,在不使用
sort()或类似方法的情况下,您需要自己循环遍历所有对象并记录最小值、最大值。有很多例子(简单的谷歌等......)如何循环。尝试其中一个,如果你有问题在这里发布你的代码,我们看看。
标签: javascript arrays sorting