繁体   English   中英

JavaScript对象数组未正确排序

[英]JavaScript object array not properly sorting

我有这个对象数组

var grps = [{
    group_no: 0,
    id: "733",
    xpos: 226.72,
    ypos: 100
}, {
    group_no: 0,
    id: "735",
    xpos: -1.19,
    ypos: 200
}];

我试图基于值xpos对数组进行排序

var small_x = grps.sort(function(a, b) {
    return a.xpos - b.xpos;
});

当我做的时候

 console.log(small_x[0].xpos); //sort asc

我期望值是-1.19但我会得到226.72

参见下文(也适用于字符串值)。 ECMA脚本未指定已使用的算法。 但是,简单地说,比较a的posx是<,>或(else)== b的posx。 这将返回resp。 -1、1或0,可以简单地排序。

另请参阅Mozilla开发人员网络的文档,包括描述,示例,ECMA脚本注释以及以下示例(概念性): https : //developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array /分类

function comparePos(a, b)
{
   if (a.xpos < b.xpos)
      return -1;
   if (a.xpos > b.xpos)
      return 1;
   return 0;
}

grps.sort(comparePos);

请参见: 在JavaScript中按字符串属性值对对象数组进行排序

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM