如何使用jquery自己的函数将数组排序为如下所示?我假设grep()是我应该看的那个?
谢谢!
数组:
array (
array(
'id' => 0,
'name' => 'myName',
'weight' => 100
);
array(
'id' => 1,
'name' => 'myName2',
'weight' => 150,
);
);
编辑:这是一个澄清事物的PHP数组 - 我不完全确定如何编写正确的javascript(JSON?)数组?
答案 0 :(得分:3)
首先,我假设您实际上在谈论的Javascript数组看起来像这样:
var myArray = [
{
id: 0,
name: 'myName',
weight: 100
},
{
id: 1,
name: 'myName2',
weight: 150
}
]
然后,您可以在此阵列上调用本机Javascript函数sort()
。在这种情况下,您需要提供函数回调。这需要使用语法function (a, b)
定义。 a
和b
是数组中的元素。如果-1
的排名应高于数组中的a
,则需要返回b
,1
如果排名较低,则0
等级myArray.sort(function(a, b) {
return b.weight - a.weight;
});
如果您想按重量降序排序,可以执行以下操作:
{{1}}
答案 1 :(得分:1)
没有使用jQuery对数组进行排序的方法。为什么不直接使用Array.prototype.sort
?它是本机代码,您可以传递一个函数来比较任何嵌套数组的值。
var myarr = [
{id: 3, foo: 'bax'},
{id: 1, foo: 'baz'},
{id: 2, foo: 'bay'}
];
// Sort by id
myarr = myarr.sort(function(x, y) {
return x.id >= y.id;
});