我有一个对象数组:
var array = [(id, name, value),(id, name, value)]; //and so on
Run Code Online (Sandbox Code Playgroud)
如何使数组按属性名称的升序排序(array[i][1])?
我试过这样做:array[i][1].sort(),但这不起作用.
请帮我!
编辑:数组可以包含两个以上的对象!它可以包含数百个.
编辑: 为什么这个问题被标记为重复,当在"重复"问题之前2年被问到?
从这个原始问题,我将如何在多个字段上应用排序?
使用这种略微适应的结构,我如何排序城市(升序)然后价格(降序)?
var homes = [
{"h_id":"3",
"city":"Dallas",
"state":"TX",
"zip":"75201",
"price":"162500"},
{"h_id":"4",
"city":"Bevery Hills",
"state":"CA",
"zip":"90210",
"price":"319250"},
{"h_id":"6",
"city":"Dallas",
"state":"TX",
"zip":"75000",
"price":"556699"},
{"h_id":"5",
"city":"New York",
"state":"NY",
"zip":"00010",
"price":"962500"}
];
Run Code Online (Sandbox Code Playgroud)
我喜欢这个事实而不是给出一个通用方法的答案.在我计划使用此代码的地方,我将不得不对日期以及其他内容进行排序."引导"物体的能力似乎很方便,如果不是有点麻烦.
我试图将这个答案构建成一个很好的通用示例,但我没有太多运气.
您如何按距离对这些对象进行排序.那么你有从最小距离到最大距离排序的对象?
Object { distance=3388, duration="6 mins", from="Lenchen Ave, Centurion 0046, South Africa", more...}
Object { distance=13564, duration="12 mins", from="Lenchen Ave, Centurion 0046, South Africa", more...}
Object { distance=4046, duration="6 mins", from="Lenchen Ave, Centurion 0046, South Africa", more...}
Object { distance=11970, duration="17 mins", from="Lenchen Ave, Centurion 0046, South Africa", more...}
Run Code Online (Sandbox Code Playgroud) 我总是这样成功地对我的数组进行排序(当我不想要标准的词典排序时):
var arr = […] // some numbers or so
arr.sort(function(a, b) {
return a > b;
});
Run Code Online (Sandbox Code Playgroud)
现在,有人告诉我这是错的,我需要return a-b改为.这是真的,如果是的话为什么?我测试了我的比较功能,它有效!另外,为什么我的解决方案在出错时会如此常见?
我想创建一个(非匿名)函数,按键按字母顺序对对象数组进行排序name.我只编写直接的JavaScript代码,所以框架至少对我没用.
var people = [
{'name': 'a75', 'item1': false, 'item2': false},
{'name': 'z32', 'item1': true, 'item2': false},
{'name': 'e77', 'item1': false, 'item2': false}
];
Run Code Online (Sandbox Code Playgroud) 我知道这必须相对简单,但我有一个JSON数据集,我想按日期排序.到目前为止,我每次都遇到问题.现在我将日期存储为this.lastUpdated.如果有帮助我可以访问jquery,但我意识到.sort()是本机JS.提前致谢.
使用Javascript,我想知道如何根据每个对象中的字符串值按字典顺序对一组对象进行排序.
考虑:
[
{
"name" : "bob",
"count" : true
"birthday" : 1972
},
{
"name" : "jill",
"count" : false
"birthday" : 1922
},
{
"name" : "Gerald",
"count" : true
"birthday" : 1920
}
]
Run Code Online (Sandbox Code Playgroud)
如何按名称按字母顺序对数组进行排序?名称值是用户名,所以我想保留字母大小写.
我有一个名为的对象数组canvasObjects.
每个对象都有一个名为的属性z.
我想基于对象对这个数组进行排序z.我如何使用该sort()方法执行此操作?
这是我的JSON文件的一个例子.
[
{"Variable":"Hello","Variable1":20}, {"Variable":"Hi","Variable1":30},
{"Variable":"How","Variable1":40}, {"Variable":"Who","Variable1":50},
{"Variable":"Where","Variable1":60}, {"Variable":"This","Variable1":100},
{"Variable":"Pork","Variable1":10}, {"Variable":"Creep","Variable1":90},
{"Variable":"Mega Creeps","Variable1":80}, {"Variable":"LOL","Variable1":0},
{"Variable":"ROFL","Variable1":0}, {"Variable":"LMAO","Variable1":0},
{"Variable":"POP","Variable1":0}, {"Variable":"LOVE","Variable1":0},
{"Variable":"PICK","Variable1":0}, {"Variable":"WHIZ","Variable1":0},
{"Variable":"BORED","Variable1":0}, {"Variable":"KILLAH","Variable1":0},
{"Variable":"LOLLING","Variable1":0}, {"Variable":"HALOO HALOO","Variable1":0}
]
Run Code Online (Sandbox Code Playgroud)
如何才能从最高的Variable1号码中获得前10名?但是要将JSON文件作为相同的格式传递.
我有一个ajax调用,返回一个相当复杂的JSON对象,我很难对它进行排序.
我的电话:
$.post('/reports-ajax',arguments, function(data) {}
Run Code Online (Sandbox Code Playgroud)
响应:
{
"10001":{
"unitname":"Fort Worth",
"discounts":{"12-02-2012":"34.810000","12-03-2012":"20.810000","12-04-2012":"27.040000"},
"gross":{"12-02-2012":"56.730000","12-03-2012":"19.350000","12-04-2012":"66.390000"},
"net":{"12-02-2012":"61.920000","12-03-2012":"98.540000","12-04-2012":"39.350000"},
"discounts_total":82.66,
"gross_total":82.47,
"net_total":99.81,
"number":10001
},
"10002":{
"unitname":"Dallast",
"discounts":{"12-02-2012":"12.600000","12-03-2012":"25.780000","12-04-2012":"47.780000","12-05-2012":"45.210000"},
"gross":{"12-02-2012":"29.370000","12-03-2012":"91.110000","12-04-2012":"60.890000","12-05-2012":"51.870000"},
"net":{"12-02-2012":"16.770000","12-03-2012":"65.330000","12-04-2012":"13.110000","12-05-2012":"06.660000"},
"discounts_total":131.37,
"gross_total":33.24,
"net_total":101.87,
"number":10002
},
"32402":{
"unitname":"Austin",
"discounts":{"12-05-2012":"52.890000","12-02-2012":"22.430000","12-03-2012":"58.420000","12-04-2012":"53.130000"},
"gross":{"12-05-2012":"25.020000","12-02-2012":"2836.010000","12-03-2012":"54.740000","12-04-2012":"45.330000"},
"net":{"12-04-2012":"92.200000","12-05-2012":"72.130000","12-02-2012":"13.580000","12-03-2012":"96.320000"},
"discounts_total":186.87,
"gross_total":161.1,
"net_total":174.23,
"number":32402
}
}
Run Code Online (Sandbox Code Playgroud)
我用一个标准的每个调用来检查函数并用highcharts做一些很棒的东西,但现在我试图通过net_total调用对响应进行排序,我无法弄明白.
我尝试了.sort()它错误,它不是一个功能.我已经阅读了一段时间,但我猜我找不到合适的结果.这看起来很有希望:对一组JavaScript对象进行排序,但它失败了,.sort而不是一个函数.似乎大多数.sort都在[]数组上而不是完整的对象..
任何帮助将不胜感激.
javascript ×10
sorting ×8
arrays ×4
jquery ×3
json ×3
object ×2
comparison ×1
html ×1
parsing ×1