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