[英]Sorting associative arrays/object in javascript/jquery by the length of their values (longest to shortest)
What would be the best way to sort an associative array/object using javascript/jquery by the length of their values? 使用javascript / jquery按值长度对关联数组/对象进行排序的最佳方法是什么? Longest value to shortest value, if the value is the same then alphabetical.
最长值到最短值,如果值相同,则按字母顺序。
eg result: 例如结果:
name["mike"] = "Sanders"
name["mary"] = "Smith"
name["sharon"] = "Chan";
name["Xu"] = "Wang";
name["John"] = "Ho";
I have looked and looked and could not find a similar question. 我看了看又找不到类似的问题。
Thanks 谢谢
Try this 尝试这个
var name= [];
name.push({ key: 'mike', value: 'Sanders' });
name.sort(function(a,b) {
var aVal = a.value.toString();
var bVal = b.value.toString();
if (aVal.length === bVal.length) {
return aVal.localeCompare(bVal);
} else {
return aVal.length - bVal.length;
}
});
alert(name[0].value); //Ho
alert(name[1].value); //Chan
alert(name[2].value); //Wang
alert(name[3].value); //Smith
alert(name[4].value); //Sanders
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.