我想对数组对象进行排序。
var obj = [{"UMAIR":410},
{"ALI":2177},
{"JOHN":410},
{"ANTHENY":410},
{"FRANKLY":410},
{"FRONTY":534},
{"SLIM":534},
{"ASFUND":534}];
我想用每个对象的整数值对其进行排序。 我想了解下面的代码(我在网上找到):
obj.sort(function(a, b) {
return a.price - b.price;
});
但是在这段代码中它使用了价格属性,但我没有'这里有任何特定的财产。
答案 0 :(得分:2)
您可以尝试排序功能......
wrap
相当于:
obj.sort(function(a,b) {
return a[Object.keys(a)[0]] - b[Object.keys(b)[0]];
});
编辑,刚刚看到你的编辑,是的你确实找到了它。 您还应该搜索如何从json中提取元素,在您的情况下 Object.keys,
它返回一个包含键字符串的数组。
由于您的Object包含SINGLE键,因此您从数组中获取第一个值(0),然后,您将从a到b减去值。
a,b是数组的条目。他们是对象。
在此Link中,您可以查看排序功能的工作原理
我提供的链接代码
obj.sort(function(a,b) {
var aValue = a[Object.keys(a)[0]];
var bValue = b[Object.keys(b)[0]];
if (aValue > bValue)
return 1;
else if (aValue < bValue)
return -1;
else
return 0;
});