Jquery 数组过滤 - grep()?

标签 jquery arrays sorting

如何使用 jquery 自己的函数对数组进行排序,如下所示?我认为 grep() 是我应该查看的那个?

谢谢!

数组:

array (

    array(
        'id' => 0,
        'name' => 'myName',
        'weight' => 100  
    );

    array(
        'id' => 1,
        'name' => 'myName2',
        'weight' => 150,
    );

);

编辑:这是一个 PHP 数组来澄清问题 - 我不完全确定如何编写正确的 javascript(JSON?)数组?

最佳答案

首先,我假设您实际上正在谈论一个看起来像这样的 Javascript 数组:

var myArray = [
    {
        id: 0,
        name: 'myName',
        weight: 100
    },
    {
        id: 1,
        name: 'myName2',
        weight: 150
    }
]

然后您可以在此数组上调用 native Javascript 函数 sort()。在这种情况下,您需要提供一个函数回调。这需要使用语法function (a, b) 来定义。 ab 是数组中的元素。如果a在数组中的排名应该高于b,则需要返回-1,如果应该返回1排名较低,如果相等则为 0

如果您想按权重降序对它们进行排序,您可以执行以下操作:

myArray.sort(function(a, b) {
    return b.weight - a.weight;
});

关于Jquery 数组过滤 - grep()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4186481/

相关文章:

javascript - 检查选择器是否为真在 javascript 中无法正常工作

javascript - 点击隐藏div

java - 如何在Java中正确删除数组

php - 对一个大的多维数组进行排序

javascript - PhantomJS 在弹出窗口中执行 JavaScript 以进行数据提取

arrays - 在 Swift 中从数组中抓取 N 批而不超出范围?

javascript - 如果条件只能满足一次,如何停止数组方法?

jquery - 按数组元素重新排列二维数组

wordpress - 按自定义字段日期列出自定义帖子类型

javascript - 如何在 IE9 中跟踪冲突?