Функция компаратора, переданная в функцию sort()
, принимает
значения из массива.
Итак, как вы упомянули, у вас есть массив массивов , аргументами функции компаратора будут массивы.
Таким образом, вы можете использовать a[0]
и b[0]
для доступа к объектам.
Вот код:
nodes = [[{ distance: 15 }], [{ distance: 123 }], [{ distance: 2 }]];
function sortNodes(a, b) {
if (a[0].distance < b[0].distance) return -1;
if (a[0].distance > b[0].distance) return 1;
return 0;
}
console.log(nodes.slice(0).sort(sortNodes));
Вот хороший пример деструктуризации:
nodes = [[{ distance: 15 }], [{ distance: 123 }], [{ distance: 2 }]];
function sortNodes([a], [b]) {
return a.distance - b.distance
}
console.log(nodes.slice(0).sort(sortNodes));