Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/446.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 重新排列一个数组,这样当在元素包裹在下面的空间中写入时,它会保持蛇形的顺序_Javascript_Arrays_Angularjs_Algorithm_Sorting - Fatal编程技术网

Javascript 重新排列一个数组,这样当在元素包裹在下面的空间中写入时,它会保持蛇形的顺序

Javascript 重新排列一个数组,这样当在元素包裹在下面的空间中写入时,它会保持蛇形的顺序,javascript,arrays,angularjs,algorithm,sorting,Javascript,Arrays,Angularjs,Algorithm,Sorting,我有一个数组 1 2 3 4 5 6 当它写在一个有限的空间里,元素被强制包装时,它被分成两列 1 2 → ↙ 3 4 → ↙ 5 6 → 但是我想像这样重新排列数组 1 2 → ↓ 6 3 ↓ 5 4 ↑ ← 1 2 3 5 4 所以,像读取普通数组一样获取该顺序 1 2 6 3 5 4 我如何知道数组是通过每个元素的位置偏移来包装的,比如1和2具有相同的顶部偏移,而3和4具有比1和2更多的~10+顶部偏移 数组是一个角度$scope对象,元素是在ng repeat指令中从中创建

我有一个数组

1 2 3 4 5 6
当它写在一个有限的空间里,元素被强制包装时,它被分成两列

1 2 → ↙
3 4 → ↙
5 6 →
但是我想像这样重新排列数组

1 2 → ↓
6 3   ↓
5 4 ↑ ←
1 2 3
5 4
所以,像读取普通数组一样获取该顺序

1 2 6 3 5 4
我如何知道数组是通过每个元素的位置偏移来包装的,比如
1
2
具有相同的顶部偏移,而
3
4
具有比
1
2
更多的~10+顶部偏移

数组是一个角度$scope对象,元素是在ng repeat指令中从中创建的

因此,我通过
$element.getBoundingClientRect().bottom
获得偏移量

如果我能得到那个顺序(126354),我就能够按照那个顺序对角度数组进行排序,这将使我在ng中的元素以蛇形的方式重复显示

有没有办法根据元素的偏移量以某种方式获得(126354)顺序并按该顺序重新排列原始数组

PS:列数和数组长度是任意的。在本例中,有两列(3x2),但如果是2x3中的5长度数组,则如下所示

1 2 → ↓
6 3   ↓
5 4 ↑ ←
1 2 3
5 4

你上错网站了。这应该贴在这里:@Benubird No,它不属于那里。Code Golf用于编程竞赛和编程难题,而不是一般编程问题。@ProgramFOX这是一个编程难题。OP应该从中提取他们的编程问题并提问,或者在那里发布完整的谜题。目前还不清楚他们到底在问什么。@Benubird这不是一个“难题”,这是一个编程问题。OP有一个具体的问题需要解决。如果不清楚,则标记/关闭它。我对此很不清楚。是否希望答案应用于任意长度的数组,并以螺旋线为中心顺序?