Чтобы отсортировать массив JavaScript по двум числовым полям, вы можете использовать различные методы. Вот несколько часто используемых подходов:
-
Array.prototype.sort():
Вы можете использовать методsort()в сочетании с собственной функцией сравнения. Функция сравнения сравнивает два числовых поля и возвращает соответствующий порядок сортировки. Вот пример:const array = [ { field1: 3, field2: 5 }, { field1: 1, field2: 2 }, { field1: 2, field2: 4 } ]; array.sort((a, b) => { if (a.field1 === b.field1) { return a.field2 - b.field2; } return a.field1 - b.field1; }); -
Использование библиотеки lodash:
Если у вас есть библиотека lodash, вы можете использовать функциюsortBy()вместе с цепочкой для сортировки массива по нескольким полям. Вот пример:const _ = require('lodash'); const array = [ { field1: 3, field2: 5 }, { field1: 1, field2: 2 }, { field1: 2, field2: 4 } ]; const sortedArray = _.sortBy(array, ['field1', 'field2']); -
Использование localeCompare():
Если одно из полей является строкой, вы можете использовать методlocaleCompare()для сравнения строкового поля иsort().для сравнения числового поля. Вот пример:const array = [ { field1: 'apple', field2: 5 }, { field1: 'banana', field2: 2 }, { field1: 'apple', field2: 4 } ]; array.sort((a, b) => { const stringComparison = a.field1.localeCompare(b.field1); if (stringComparison === 0) { return a.field2 - b.field2; } return stringComparison; });
Это всего лишь несколько методов сортировки массива JavaScript по двум числовым полям. Не забудьте адаптировать имена полей и структуру данных в соответствии с вашим конкретным вариантом использования.