如何对JSON数组进行排序
How can I sort my JSON array?
如何根据JSON元素的值按正确顺序输出该元素?
var json = {
"message": {
"90": "Adidas",
"2": "Armani",
"89": "Casio",
"1": "Diesel",
"72": "DKNY",
"88": "Fossil",
"4": "Hamilton",
"6": "Luminox",
"99": "Michael Kors",
"968": "Mont Blanc Pens",
"3": "Nixon",
"959": "Nooka",
"92": "Seiko",
"91": "Tendence",
"7": "Tissot"
}
};
var str = '';
for (var i in json.message) {
str += json.message[i]+''n';
}
alert(str);
它按以下顺序发出警报-
柴油
阿玛尼
尼克松
汉密尔顿
Luminox
DKNY
化石
卡西欧
阿迪达斯
倾向
精工
Michael Kors
努卡
勃朗峰钢笔
但我希望它按以下顺序
阿迪达斯
阿玛尼
卡西欧
柴油
DKNY
化石
汉密尔顿
Luminox
Michael Kors
勃朗峰钢笔
尼克松
努卡
精工
倾向
天梭
有人能建议我应该采取什么方法来获得正确的顺序吗?
如有任何帮助,我们将不胜感激!
假设您希望元素按其值按字母顺序列出:
var values = [];
for(var i in json.message) {
values.push(json.message[i]);
}
var str = values.sort().join(''n');
更新
要形成按(字符串)值排序的键值对数组:
var values = [];
for(var i in json.message) {
values.push({ key: i, value: json.message[i] });
}
values.sort(function(a, b) { return a.value.localeCompare(b.value); });
var str = values.map(function (kvp) { return kvp.value; }).join(''n');
var message = object.message;
var brands = Object.keys(message)
.map(function(key) { return message[key]; })
.sort();
alert(brands.join(''n'));
为每个索引添加一个前导0。例如:
var json = {
"message": {
"090": "Adidas",
"02": "Armani",
"089": "Casio",
"01": "Diesel",
...
使用JS库unscore.JS非常简单,只需执行:
json.message=_.sortBy(json.message,function(i){return i;})
您可以通过这种方式对其进行排序,这是一种基于值的排序:
function sortJsonMap(data){
var values = [];
var keys = [];
for(var i in data) {
keys.push(i);
values.push(data[i]);
}
values.sort();
var map = new Object();
for(var i in values) {
map[keys[i]]=values[i];
}
return map;
}
相关文章:
- JavaScript数组排序(函数)用于对表行进行排序,而不是排序
- 在数组的 2/3 上调用自身的排序算法
- 数组值的排序以匹配另一个数组ES6
- 按不同项目对对象数组进行排序
- 根据Javascript中的字符串值对数组的数组进行排序
- 在不同的javascript数组中对json响应进行排序
- 对对象数组中的数组进行排序
- 按特定键对对象数组进行排序
- 使用jquery根据数组对表行进行排序
- 尝试对对象数组进行排序但拼接不是一个函数
- 对javascript中某些键的对象数组进行排序
- Javascript按数字顺序排序()数组
- Javascript排序索引链接数组
- 在jquery中对时间数组进行排序
- 如何在具有相同 ID 的 Javascript 中按排序函数对关联数组进行排序
- Javascript中的多维数组排序索引问题
- 如何在mongodb中根据数组内容的差异进行排序
- 在Javascript中对具有特定异常的对象数组进行排序
- 数组数据排序类似mysql查询
- 在小于O(n)时间内找到(排序)数组中的重复元素