gpt4 book ai didi

javascript - 对项目数组(具有 X/Y 属性)进行排序,使它们从左到右、从上到下排序

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:37:06 24 4
gpt4 key购买 nike

舞台上数组中的每个项目,每个项目都有一个 x/y 位置。最左上角的项目应该是项目[0]。 X应该是主要的。

enter image description here

最初我是这样想的:

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]);
}

但这不会产生正确的结果。

最佳答案

sort() 应返回 0 或负数/正数。

这以 X 优先排序:

function sortByPosition(a, b){
if (a.x == b.x) return a.y - b.y;
return a.x - b.x;
}

Y 优先(“自然”顺序):

function sortByPosition(a, b){
if (a.y == b.y) return a.x - b.x;
return a.y - b.y;
}

这意味着您只需要用 || 替换您的 &&:

return a.x - b.x || a.y - b.y

关于javascript - 对项目数组(具有 X/Y 属性)进行排序,使它们从左到右、从上到下排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8110320/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com