我找到了一种很好的方法,可以根据以下定义的属性对对象数组进行排序:
在 JavaScript 中按字符串属性值对对象数组进行排序
使用该功能非常适合单个排序(在所有浏览器上),甚至是另一个排序中的排序,除了使用谷歌浏览器!这是 Ege Özcan 用于对象数组的出色排序例程
function dynamicSort(property) {
return function (a,b) {
return (a[property] < b[property]) ? -1 : (a[property] > b[property]) ? 1 : 0;
}
}
使用一个名为“Data”的数组(当然,我的数组有更多的对象对)......
var Data = [{Category: "Business", Value: "ABC"},{Category:"Personal", Value:"XYZ"}];
通过这样做,我可以获得正确的排序,其中订单被列为每个类别中的所有值......
Data.sort(dynamicSort("Value"));
Data.sort(dynamicSort("Category"));
通过首先按 排序Value
,然后按排序Category
,我的数组将所有值按排序顺序排列,所有基于业务的值首先列出,然后是所有基于个人的值。完美的!除了在 Chrome 中,数据按类别正确排序,但每个类别中值的顺序似乎相当随机。
有没有人知道在 Chrome 中也可以使用的排序中进行排序的更好方法?