Сортировка подмассивов в массиве [дубликат]

237
13 марта 2018, 04:45

На данный вопрос уже ответили:

  • Как написать компаратор для сортировки? 1 ответ

Имеется такая структура массива:

0: […]
    0: […]
        0: Object { x: 28716 }
        1: Object { y: 6057 }
        2: Object { square: 17749 }
    1: […]
        0: Object { x: 27664 }
        1: Object { y: 5693 }
        2: Object { square: 49878 }
    2: […]
        0: Object { x: 27777 }
        1: Object { y: 5137 }
        2: Object { square: 22012 }
1: […]
    0: […]
        0: Object { x: 4716 }
        1: Object { y: 6057 }
        2: Object { square: 749 }
    1: […]
        0: Object { x: 3664 }
        1: Object { y: 5593 }
        2: Object { square: 878 }
    2: […]
        0: Object { x: 13777 }
        1: Object { y: 1237 }
        2: Object { square: 29012 }

Как отсортировать каждый подмассив по убыванию по свойству square?

Чтобы получилось вот так:

0: […]
    0: […]
        0: Object { x: 27664 }
        1: Object { y: 5693 }
        2: Object { square: 49878 }
    1: […]
        0: Object { x: 27777 }
        1: Object { y: 5137 }
        2: Object { square: 22012 }
    2: […]
        0: Object { x: 28716 }
        1: Object { y: 6057 }
        2: Object { square: 17749 }
1: […]
    0: […]
        0: Object { x: 13777 }
        1: Object { y: 1237 }
        2: Object { square: 29012 }
    1: […]
        0: Object { x: 3664 }
        1: Object { y: 5593 }
        2: Object { square: 878 }
    2: […]
        0: Object { x: 4716 }
        1: Object { y: 6057 }
        2: Object { square: 749 }
Answer 1

Вообще, лучшим вариантом будет заменить

0: […]
    0: […]
        0: Object { x: 27664 }
        1: Object { y: 5693 }
        2: Object { square: 49878 }
    1: […]
        0: Object { x: 27777 }
        1: Object { y: 5137 }
        2: Object { square: 22012 }
    2: […]
        0: Object { x: 28716 }
        1: Object { y: 6057 }
        2: Object { square: 17749 }
1: […]
    0: […]
        0: Object { x: 13777 }
        1: Object { y: 1237 }
        2: Object { square: 29012 }
    1: […]
        0: Object { x: 3664 }
        1: Object { y: 5593 }
        2: Object { square: 878 }
    2: […]
        0: Object { x: 4716 }
        1: Object { y: 6057 }
        2: Object { square: 749 }

на

0: […]
    0: Object {
         x: 27664,
         y: 5693,
         square: 49878
    },
    1: Object {
        x: 27664,
        y: 5693,
        square: 49878
    },
    2: Object {
         x: 27664,
         y: 5693,
         square: 49878
    }
1: […]
    0: Object {
         x: 27664,
         y: 5693,
         square: 49878
    },
    1: Object {
         x: 27664,
         y: 5693,
         square: 49878
    },
    2: Object {
         x: 27664,
         y: 5693,
         square: 49878
    }

и тогда функция сортировки будет выглядеть примерно так

for (var i = 0; i < tvoy_massiv.length; i++) {
    var item_i = tvoy_massiv[i];
    item_i.sort(function (a, b) {
      return b.square - a.square;
    });
}
console.log(tvoy_massiv);
READ ALSO
Owl-carousel. Проблема с width при обновлении страницы

Owl-carousel. Проблема с width при обновлении страницы

Столкнулся с проблемойНа ПК версии сайта (Широкий экран) при загрузке страницы карусель отображается нормально

181
Допущена ошибка в синтаксисе

Допущена ошибка в синтаксисе

Подскажите, пожалуйста, где допущена ошибка в синтаксисе, все не могу разобраться

262
Числа Фибоначчи JS

Числа Фибоначчи JS

Напишите функцию fib(n), которая возвращает n-е число ФибоначчиПример работы:

258
Как использовать process.env в файлах приложения Vue.js?

Как использовать process.env в файлах приложения Vue.js?

Объясните мне, пожалуйста, как я могу задействовать, например, processenv

209