Я хочу отсортировать массив массивов по второму номеру каждого внутреннего массива.
Исходный массив: [[1, 7], [2, 5], [3, 4], [4, 10]]
Желаемый массив после сортировки: [[3, 4], [2, 5], [1, 7], [4, 10]]
После сортировки массиваодин раз из-за ошибки «Не удается прочитать свойство« 1 »из неопределенного».
Я знаю, это потому, что arr [i + 1] [1] не определено, потому что arr [i] [1] являетсяпоследний элемент в массиве в конце цикла, поэтому arr [i + 1] [1] не существует.
Я пробовал все условные операторы, которые я могу придумать, чтобы поймать arr [i +1] [1], когда оно становится неопределенным, но не имело успеха.
Как мне не дать ему поймать неопределенную ошибку и вместо этого продолжать перебирать массив, пока он не будет полностью отсортирован?
let unsortedArr = [[1, 7], [2, 5], [3, 4], [4, 10]]
let sorted = false;
function sort(arr){
while (!sorted) {
sorted = true;
for (let i = 0; i < arr.length; i++) {
if (arr[i][1] > arr[i + 1][1]) {
sorted = false;
let temp = arr[i];
arr[i] = arr[i + 1];
arr[i + 1] = temp;
}
}
}
console.log(arr)
}
sort(unsortedArr)