对项目数组(具有 X/Y 属性)进行排序,以便它们按从左到右、从上到下的顺序排列
舞台上数组中的每个项目都有一个 x/y 位置。最左上角位置的项目应该是 items[0]。 X 应该是主要的。
最初我的想法是:
var items = [m1, m2, m3, m4, m5, m6];
items.sort(sortMe);
function sortMe(a, b)
{
return (b.position[0] - a.position[0]) && (b.position[1] - a.position[1]);
}
但这不会产生正确的结果。
Each item in the array in on the stage, each with an x/y position. The item in the top left most position should be items[0]. X should be the primary.
Originally I was thinking along the lines of:
var items = [m1, m2, m3, m4, m5, m6];
items.sort(sortMe);
function sortMe(a, b)
{
return (b.position[0] - a.position[0]) && (b.position[1] - a.position[1]);
}
But this does not yield the correct results.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
sort()
应返回0
或负数/正数。排序时
X
优先:Y
优先(“自然”顺序):这意味着您只需替换
&&< /code> 与
||
:sort()
should return either0
or a negative/positive number.This sorts with
X
taking precedence:This with
Y
taking precedence (the "natural" order):Which means you just need to replace your
&&
with||
: