【发布时间】:2019-06-08 21:00:09
【问题描述】:
我有一个要排序的二维数组。
通常使用以下结构访问数组:array[r][c]。
我想重新排序数组的值,以便每个 [r] 值按第 4 个 c 值排序。
在网上看,我看到了一些似乎适用于其他结构化数组的排序脚本,但我想知道我是否遗漏了一些愚蠢的东西。
数组的结构使得对于数组中的每个 'r' 值,都有一个值列表,具体取决于您输入的 'c' 值(例如:如果您执行 array[0][2]是第一个条目的地址,array[0][10] 是第一个条目的电话号码)。
我希望能够根据 c 值 4 和... 10 进行排序(例如)。 (理想情况下,我会按多列排序,例如先按姓氏排序,然后按名字排序——但我现在会满足于一种排序哈哈哈)
我不确定是否有任何默认排序函数对我有用,或者我是否需要编写手动排序函数(我希望我不必这样做,因为那样效率很低) .
感谢大家的指点
【问题讨论】:
-
所提供的带有 compare 的排序函数都不起作用(这可能是我构造数组的方式,因为采用不同结构的相同数据),所以我最终编写了自己的排序:比较位置 x位置为 x+1 。如果 first 更大,则交换并从头开始比较。如果不是更大,则迭代 x,然后再次比较。我知道它不是最有效的,特别是因为它在每次更改/交换后从顶部检查所有内容,但它对我有用。
标签: javascript arrays sorting multidimensional-array google-apps-script