Javascript 使用内联函数对对象数组进行数字排序

Javascript 使用内联函数对对象数组进行数字排序,javascript,arrays,sorting,numbers,Javascript,Arrays,Sorting,Numbers,我有一个js对象数组,我需要根据区域h*w进行排序。也就是说,每个对象都有{h,w}。我没有得到排序数组 我有一个数组,如图所示 var块=[]; 推({ w:320, h:135 }); 推({ w:320, h:270 }); 推({ w:320, h:135 }); 推({ w:320, h:135 }); 推({ w:320, h:135 }); 块。排序(函数(a,b){ 回报率(b.w*b.h

我有一个js对象数组,我需要根据区域h*w进行排序。也就是说,每个对象都有{h,w}。我没有得到排序数组

我有一个数组,如图所示

var块=[];
推({
w:320,
h:135
});
推({
w:320,
h:270
});
推({
w:320,
h:135
});
推({
w:320,
h:135
});
推({
w:320,
h:135
});
块。排序(函数(a,b){
回报率(b.w*b.hlog(JSON.stringify(blocks))使用
-
操作符:

blocks.sort(function(a, b) {
    return b.w * b.h - a.w * a.h;
});
如果排序的回调返回:

  • 一个负数,然后
    sort
    a
    置于
    b
  • 0
    ,则
    a
    b
    相等,并且
    sort
    将决定谁在谁之前
  • 一个正数,然后
    sort
    b
    置于
    a
    之前

注意:上述代码按降序对数组进行排序,如果要反转排序顺序,则只需返回
a.w*a.h-b.w*b.h

使用
-
操作符:

blocks.sort(function(a, b) {
    return b.w * b.h - a.w * a.h;
});
如果排序的回调返回:

  • 一个负数,然后
    sort
    a
    置于
    b
  • 0
    ,则
    a
    b
    相等,并且
    sort
    将决定谁在谁之前
  • 一个正数,然后
    sort
    b
    置于
    a
    之前

注意:上述代码按降序对数组进行排序,如果要反转排序顺序,则只需返回
a.w*a.h-b.w*b.h

您需要使用减号运算符,请检查此代码段

var块=[]
推({
w:320,
h:135
});
推({
w:320,
h:270
});        
推({
w:320,
h:135
});
推({
w:320,
h:135
});
推({
w:320,
h:135
});
块。排序(函数(a,b){
报税表(b.w*b.h-a.w*a.h);
});

控制台日志(块)您需要使用减号运算符,请检查此代码段

var块=[]
推({
w:320,
h:135
});
推({
w:320,
h:270
});        
推({
w:320,
h:135
});
推({
w:320,
h:135
});
推({
w:320,
h:135
});
块。排序(函数(a,b){
报税表(b.w*b.h-a.w*a.h);
});
控制台日志(块)