Создадим массив и напишем функцию добавления элемента в конец массива.
let arr = [];
function add(x, y) {
arr.push({
x: x,
y: y,
index: arr.length,
});
}
Добавим элементы в массив.
add(15, 20);
add(10, 20);
add(15, 14);
add(10, 18);
add(10, 19);
add(15, 20);
add(12, 18);
add(15, 14);
Напишем универсальную функцию сортировки элементов массива.
Функция принимает сортируемый массив и массив полей.
Сравнение элементов массива происходит в зависимости от порядка полей в массиве полей.
function sortArray(arr, fields) {
arr.sort(function(a, b) {
for(let i = 0; i < fields.length; i++) {
const field = fields[i];
if(a[field] < b[field]) return -1;
if(a[field] > b[field]) return 1;
}
return 0;
});
}
Вызываем функцию сортировки массива.
sortArray(arr, ["x", "y"]);
Выводим полученный результат в консоль.
console.log("\nJavaScript\n\n")
arr.forEach((e) => {
console.log("X: " + e.x + " Y: " + e.y + " Index: " + e.index);
});
console.log("\n\n");
Результат работы программы.
JavaScript
X: 10 Y: 18 Index: 3
X: 10 Y: 19 Index: 4
X: 10 Y: 20 Index: 1
X: 12 Y: 18 Index: 6
X: 15 Y: 14 Index: 2
X: 15 Y: 14 Index: 7
X: 15 Y: 20 Index: 0
X: 15 Y: 20 Index: 5