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

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