jQuery:排序$ .each的结果

Bri*_*ham 1 javascript arrays sorting each jquery

我能找到的人们使用的唯一例子$.each是html样本,而这不是我想要的.我有以下对象:

var obj = {
    obj1: 39,
    obj2: 6,
    obj3: 'text'
    obj4: 'text'
    obj5: 0
};
Run Code Online (Sandbox Code Playgroud)

我像这样循环遍历对象:

$(array).each(function(index, value) {
    // ...
});
Run Code Online (Sandbox Code Playgroud)

我想按obj3和排序obj4.最好不要使用异步方法,如何在输出之前(或期间)对结果进行排序?(我也不想两次循环,因为在任何给定的时间都可能有数百个.

Ada*_*kis 9

var array = {
    obj1: 39,
    obj2: 6,
    obj3: 'text'
    obj4: 'text'
    obj5: 0
};
Run Code Online (Sandbox Code Playgroud)

不是数组(尽管它的名字).这是一个对象.通过排序的想法obj3,并obj4没有真正意义.

现在,如果要将此对象转换为对象数组,则可以使用该array.sort方法对该数组进行排序.

var array = [
    { obj1: 39,
      obj2: 6,
      obj3: 'text'
      obj4: 'text'
      obj5: 0
    },{ obj1: 40,
      obj2: 7,
      obj3: 'text2'
      obj4: 'text3'
      obj5: 0
    }
];

array.sort(function(a, b) {

    var textA = a.obj3.toLowerCase();
    var textB = b.obj3.toLowerCase();

    if (textA < textB) 
       return -1; 
    if (textA > textB)
       return 1;
    return 0; 
});
Run Code Online (Sandbox Code Playgroud)

当然,按数字属性排序,它只是:

array.sort(function(a, b) {
    return a.obj1 - b.obj1;
});
Run Code Online (Sandbox Code Playgroud)