Google Scripts 2D Array сортировка по значению - PullRequest
0 голосов
/ 14 января 2019

У меня есть двумерный массив, который я пытаюсь отсортировать.

Массив обычно доступен с этой структурой: array [r] [c].

Я хочу изменить порядок значений массива, чтобы каждое значение [r] сортировалось по 4-му значению c.

Глядя в онлайн, я видел несколько сценариев сортировки, которые, кажется, работают для других структурированных массивов, но мне интересно, не упустил ли я что-то глупое.

Массив структурирован таким образом, что для каждого значения 'r' в массиве есть список значений, в зависимости от того, какое значение 'c' вы вводите (например: если вы сделаете array [0] [2], это будет будет адресом первой записи, а массив [0] [10] - номером телефона первой записи).

Я хочу иметь возможность сортировки на основе значений c 4 и ... 10 (например). (в идеале я бы сортировал по нескольким столбцам, например, сначала по фамилии, а затем по имени - но сейчас я согласен на одну сортировку, хахаха)

Я не уверен, подойдет ли мне какая-либо из функций сортировки по умолчанию или мне нужно написать функцию ручной сортировки (что, я надеюсь, мне не нужно делать, поскольку это было бы довольно неэффективно) .

Спасибо за любые указатели

1 Ответ

0 голосов
/ 15 января 2019

Вам нужно написать собственную функцию сравнения.

Отрывок:

const COLTOSORT = 2;
function compare(row1, row2) {
  return row1[COLTOSORT] < row2[COLTOSORT]
    ? -1
    : row1[COLTOSORT] > row2[COLTOSORT]
      ? 1
      : 0;
}
array.sort(compare);

Ссылки:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...