-1
(0、0)にある親のアイテムがあります。 親アイテムは子供を持ち、その位置は親のに対して格納されています。たとえば、children[2]
の位置は(2、-8)です。プロパティ値の計算でJavascriptオブジェクトをソート
親を移動させることができる、そしてそれがないとき、それは正味の移動がmovement
、delta_x
とdelta_y
に格納されます。最初の例では、親のが右に移動しています.1、上に0です。このアイテムは右に動いていると言えます。 2番目の例では、親のが右に移動しています.1、上に-2です。このアイテムは、動きの右下が動きの下よりも小さいので、下に移動していると言うことができます。
は私が親が右に移動している場合は左に、子供が右にソートされるようにchildren
をソートする必要があります。以下では、2つのシナリオとその期待される出力を掲載しました。
var children = {
2: {
relative_position_x: 2,
relative_position_y: -4
}, // Positioned at (2, -4)
4: {
relative_position_x: 0,
relative_position_y: -3
}, // Positioned at (0, -3)
1: {
relative_position_x: 2,
relative_position_y: 0
} // Positioned at (2, 0)
}; // Relative to (0, 0)
var movement = {
delta_x: 1,
delta_y: 0
}; // Item is moving east (right)
// Another possible scenario, expecting output to be [2, 4, 1]
// var movement = {
// delta_x: 1,
// delta_y: -2
// }; // Item is moving south (forget about (east) delta_x because it's a smaller movement than delta_y)
console.log(sortedChildren); // expected [1, 2, 4] or [2, 1, 4] (from right-left)