JavaScript | Как отсортировать массив по индексу вложенных массивов?

JavaScript | Как отсортировать массив по индексу вложенных массивов?

 

Есть массив:

var massiv = [
   [1, 2, 3],
   [2, 888, 999],
   [3, 0, 0],
   [4, 55, 66]
]

В этом массиве элементы расположены в порядке увеличения «первых элементов вложенных массивов». Мы хотим произвести сортировку по второму элементу вложенных массивов, то есть по индексу «1». Как это сделать?

 

Решение

Нам поможет метод sort(), который вызывается у всех экземпляров класса Array. Он принимает два параметра

massiv.sort((a,b)=>a[1]-b[1])

Мы получим отсортированный массив по индексу 1.

Отсортировали массив по индексу - JavaScript
Отсортировали массив по индексу — JavaScript

 

Этот способ также применим для массивов у которых в качестве свойств указаны НЕ целочисленные индексы. Например, так можно сортировать любые итераторы в JavaScript (ECMAScript)

 

Информационные ссылки

Стандарт ECMAScript — Раздел «23.1.3.27 Array.prototype.sort ( comparefn )» — https://tc39.es/ecma262/#sec-array.prototype.sort