Сортировка массива объектов

Поділитися
Вставка
  • Опубліковано 8 вер 2024
  • Сортировка массива объектов по свойству.
    👁‍🗨 Телеграм: t.me/frontend_du2
    👁‍🗨 Discord: / discord
    👁‍🗨 VK: frontend
    👁‍🗨 Дзен: dzen.ru/frontend
    👁‍🗨 Rutube: rutube.ru/u/fr...

КОМЕНТАРІ • 66

  • @nazymberikkyzy9935
    @nazymberikkyzy9935 3 місяці тому +1

    Александр, спасибо Вам за Ваши видео! Без них я бы давно забросила учебу))

  • @alonewolf2610
    @alonewolf2610 2 місяці тому

    Полезное видео. Спасибо тебе Александр

  • @monsterus2836
    @monsterus2836 Рік тому +2

    Спасибо за разжевание работы данного метода массива, пойду пробовать сортировать))

    • @alex_dudukalo
      @alex_dudukalo  Рік тому

      Спасибо вам за комментарий. Тема сортировки супер важна ) В практике мы часто делаем сортировку данных :)

  • @risenshine1349
    @risenshine1349 Рік тому +1

    спасибо большое за объяснение! Классная идея показывать как сокращается код)

    • @alex_dudukalo
      @alex_dudukalo  Рік тому

      Спасибо вам :) Да, планирую записать такое видео )

  • @efreetomsk
    @efreetomsk Рік тому +2

    Спасибо за видео, отлично объясняешь!

    • @alex_dudukalo
      @alex_dudukalo  Рік тому

      Спасибо за комментарий. Не всегда получается хорошо, но я стараюсь :)) Надеюсь видео помогло разобраться в теме )

  • @user-sv6mw9wd3u
    @user-sv6mw9wd3u 2 роки тому +1

    Спасибо большое за исправления в моих знаниях по сортировке)

    • @alex_dudukalo
      @alex_dudukalo  2 роки тому

      Спасибо вам за просмотр и отклик. Я рад, что виде помогло разобраться :)

  • @boris___britva
    @boris___britva Рік тому +1

    Спасибо за потраченное для нас время)

    • @alex_dudukalo
      @alex_dudukalo  Рік тому

      Спасибо за этот комментарий :) плюс к продвижению видео )

  • @Mr.Riggs03
    @Mr.Riggs03 Рік тому

    Спасибо за подробное разъяснение

    • @alex_dudukalo
      @alex_dudukalo  Рік тому

      Спасибо за ваш комментарий😊

  • @Vse-po-Faktu
    @Vse-po-Faktu Рік тому +1

    Просто мастер сокращения 👍)

    • @alex_dudukalo
      @alex_dudukalo  Рік тому

      )))) Спасибо вам , коротко, но уже не так понятно

    • @Vse-po-Faktu
      @Vse-po-Faktu Рік тому

      @@alex_dudukalo мне, как только изучающему азы JS сложно его читать) но объяснения очень классные 👍

  • @gavriloprincip5618
    @gavriloprincip5618 Рік тому

    Тупо красота! Огромное спасибо!

    • @alex_dudukalo
      @alex_dudukalo  Рік тому

      Спасибо вам за коммертарий :)) Рад, что ролик был полезным)

  • @relaxdeepsleepmusic3608
    @relaxdeepsleepmusic3608 6 місяців тому

    Спасибо за помощь !

  • @valeria23333
    @valeria23333 7 місяців тому

    Спасибо за хорошее об'яснение

  • @boris___britva
    @boris___britva Рік тому +1

    a[prop] < b[prop] сломал голову с этим. Не понимал, почем у меня не работает a.prop < b.prop. Еще думал, почему пишете именно так, ведь куда проще записать моим вариантом)) ну зато запомнил! Надеюсь..)

    • @alex_dudukalo
      @alex_dudukalo  Рік тому

      Здравствуйте. Удалось разобраться в условиях функции сортировки? Возможно я что то пропустил в видео:)

  • @ksenianatoire5754
    @ksenianatoire5754 Рік тому +1

    Спасибо!

    • @alex_dudukalo
      @alex_dudukalo  Рік тому

      Спасибо за ваш комментарий :)

  • @Elena.S.
    @Elena.S. Рік тому +1

    Огонь

  • @midnightstar_zoriana
    @midnightstar_zoriana Рік тому +1

    👍👍👍👍👍👍👍👍

    • @alex_dudukalo
      @alex_dudukalo  Рік тому

      Спасибо за комментарий :)

  • @user-mv1dg9fg5m
    @user-mv1dg9fg5m 2 роки тому +2

    А еще написать: "Внимание! Спойлер"))) до конца не стал смотреть, так как пока что хочу попробовать сделать сам, а потом уже посмотреть как правильно)

    • @alex_dudukalo
      @alex_dudukalo  2 роки тому

      Рад вас здесь видеть. Да, потом обязательно сравните. Я думаю будет интересно посмотреть разницу решений :)

    • @user-mv1dg9fg5m
      @user-mv1dg9fg5m 2 роки тому

      @@alex_dudukalo Александр, может перейдем на "ты"?)

    • @alex_dudukalo
      @alex_dudukalo  2 роки тому

      @@user-mv1dg9fg5m я только за :) переходим на ты :)

  • @ArmTool
    @ArmTool Рік тому +1

    Не понял что такое arr, prop, dir. Что к чему относится? Как он поймет что именно сортировать? Мне надо на ФИО, ВОЗРАСТ, ФАКУЛЬТЕТ, ГОД. Это надо к каждому виду писать свою функцию?

    • @alex_dudukalo
      @alex_dudukalo  Рік тому

      Здравствуйте. Параметр prop отвечает за настройку, по какому именно полю (свойству) мы делаем сортировку ФИО, ВОЗРАСТ, ФАКУЛЬТЕТ, ГОД, а dir за направление сортировки: во возрастанию или по убыванию :)

  • @user-nc4es3dr4y
    @user-nc4es3dr4y 9 місяців тому

    Спасибо

    • @alex_dudukalo
      @alex_dudukalo  9 місяців тому

      Спасибо за комментарий 🤗

  • @user-od3nc4yh2l
    @user-od3nc4yh2l 2 роки тому +1

    Спасибо большое за сортировку. Особенно переменная, которая меняет направление. if (dirif == true) return -1; Я только не совсем понимаю эту строчку. Мы задаем направление сортировки, когда переменная равна true?

    • @alex_dudukalo
      @alex_dudukalo  2 роки тому

      Прошу прошение за долгий ответ, не всегда получается делать это своевременно. Здесь важно понимать, для чего функция сортировки возвращает отрицательное число. Очень рекомендую ознакомиться с документации этой функции developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Array/sort

  • @asgard1428
    @asgard1428 2 роки тому +1

    Классно получается но ничего не понятно. Вы делаете делаете, я могу вот так, потом вот так, потом вот так. А что почему и как ничего не ясно.

    • @alex_dudukalo
      @alex_dudukalo  2 роки тому +4

      Спасибо за комментарий. В этом видео я попытался показать способ сортировки встроенной функцией sort в JS именно объектов по их свойствам. Думаю, что это повод записать видео с разбором того, как вообще работает сортировка и что там под капотом :)

  • @asgard1428
    @asgard1428 2 роки тому

    Добрый день. А можно узнать что такое return -1. Что это значит? Что на что перемножается или что из чего вычитается? Как и почему меняются числа местами. Каким способом они меняются? Как именно это происходит. Что называется посмотреть все что происходит под капотом.

    • @alex_dudukalo
      @alex_dudukalo  2 роки тому

      Здравствуйте, увидел ваш комментарий. -1 - это отрицательное число, которое показывает будут ли меняться местами пара чисел. Тут нужно обратиться к принципу сортировки в целом. Если коротко, сортировка, это сравнивание чисел и изменение их позиций. Самый простой случай сортировки - это случай с двумя числами. A и B. Если А > B, то мы меняем их местами. В этом случае мы получаем сортировку по возрастанию. И функция, которую мы прописываем в sort должна вернуть положительное число +1. Если A > B, и мы вернем -1 в функции, то мы их менять местами не будем и числа будут отсортированы по убыванию. Я думаю, что по самому методу сортировки стоит записать отдельное видео.

    • @antonmas3451
      @antonmas3451 Рік тому +2

      @@alex_dudukalo а с compareFn он как именно сравнивает элементы? например [2 , 4 , 1, 0 ].sort((a,b) => a-b) он берет 4(а) -2(b) возвращает +1 и эти элементы остаются на своих местах, далее сравнивает 1(а) - 4(b) возвращает -1 и элементы меняются местами? т.е на данном этапе массив выглядит так [ 2 , 1 , 4 , 0 ] ??
      далее 0 -4 return - 1 и наш массив теперь [ 2 , 1 , 0 , 4] и этот метод делает новую итерацию ??? опять с самого начала до конца и так до тех пор пока везде return +1 не вернется?

  • @borisgarkun347
    @borisgarkun347 Рік тому

    Спасибо. А почему вы в конце function поменяли на const?

    • @alex_dudukalo
      @alex_dudukalo  Рік тому

      Здравствуйте, подскажите о какой именно минуте в видео вы говорите? :) Это лучше поможет мне понять вопрос

    • @borisgarkun347
      @borisgarkun347 Рік тому

      @@alex_dudukalo 15:40

  • @roypchel9322
    @roypchel9322 2 роки тому

    Александр, скажите пожалуйста, что лучше - короткий работающий код, или легкочитаемый, но больший по объему?

    • @alex_dudukalo
      @alex_dudukalo  2 роки тому +2

      Лучше простой для чтения. Особенно , если вы только начинаете программировать :)

  • @user-fp5yx4fr1l
    @user-fp5yx4fr1l Рік тому

    Александр, здравствуйте! В mdn сказано, что функция для sort должна иметь вид
    function compare(a, b) {
    if (a меньше b по некоторому критерию сортировки) {
    return -1;
    }
    if (a больше b по некоторому критерию сортировки) {
    return 1;
    }
    // a должно быть равным b
    return 0;
    }
    но работает и вариант просто с return -1... Как это понимать? Спасибо за ответ.

    • @user-fp5yx4fr1l
      @user-fp5yx4fr1l Рік тому

      или более ясный наверное вопрос. Почему return -1 делает сортировку, а return 1 не делает?

    • @alex_dudukalo
      @alex_dudukalo  Рік тому +1

      Здравствуйте, хороший вопрос. Я бы тут сделал такое описание7 На мой взял оно более понятное:
      function compare(a, b) {
      if (a > b) return 1; // если первое значение больше второго
      if (a == b) return 0; // если равны
      if (a < b) return -1; // если первое значение меньше второго
      }
      Возможно в вашем примере нужно е условие не выполняется :)

  • @user-xd6rk7th8b
    @user-xd6rk7th8b 2 роки тому

    почему return -1 срабатывает сортировка , а return 1 не сортируется массив. Подскажите , -1 - это значит меняем местами два эелемнта, а если 1 оставляем как есть ? или нет

    • @alex_dudukalo
      @alex_dudukalo  2 роки тому

      У функции sort такое правило:
      - Если функция вернет число меньше 0, то сортировка поставит число 'a' по меньшему индексу, чем b, то есть, a идёт первым.
      - Если функция вернет 0, то сортировка оставит a и b неизменными по отношению друг к другу, но отсортирует их по отношению ко всем другим элементам
      - Если функция вернет число больше 0, то сортировка поставит число поставит 'b' по меньшему индексу, чем 'a'
      Примерно так :)

    • @alena_75
      @alena_75 6 місяців тому

      @@alex_dudukalo , спасибо за объяснение! Осталось понять - почему в переменную а помещается второй элемент массива, а в переменную b - первый (из пары сравниваемых). Это хорошо видно на видео, на 1:40. По-моему, это не логично как-то и мешает сформулировать условие сортировки...

  • @azizjalilov1761
    @azizjalilov1761 Рік тому

    Здравствуйте почему свойства объекта приходит кавычке ' '

    • @alex_dudukalo
      @alex_dudukalo  Рік тому

      Здравствуйте, не уверен, что понял вопрос. Не могли бы вы его более подробно раскрыть? )

    • @azizjalilov1761
      @azizjalilov1761 Рік тому

      sortUser(arr,'age ',true) age свойства объекта почему как строка идёт

    • @NursAcademy
      @NursAcademy 7 місяців тому

      ​@@azizjalilov1761 через точку тоже писать можно.

  • @vladyslavmasokha195
    @vladyslavmasokha195 2 роки тому

    Можно вопрос: как найти самое большое число в объекте который в массиве

    • @alex_dudukalo
      @alex_dudukalo  2 роки тому

      Обычно делается цикл, который проходит по каждому объекту и если число в объекте больше, чем число в созданном ранее объекте max , то в max помещаем текущий объект и так повторяем, пока не пройдём по всем объектам :)

    • @vladyslavmasokha195
      @vladyslavmasokha195 2 роки тому

      @@alex_dudukalo Спасибо)

  • @megabulk
    @megabulk 2 роки тому

    Надо объяснить, что это за модуль? Откуда он и зачем, а то человек не из SkillBox не поймет.

    • @alex_dudukalo
      @alex_dudukalo  2 роки тому

      Согласен, нужно будет добавить комментарий. Видео записывал тогда, когда еще канал не планировался 🙂

  • @NickBorisov
    @NickBorisov 3 місяці тому

    Вторая половина ролика - страдание херней. Цель: передавать направление похвальна, реализация: дно.
    Скоращение кода не всегда хорошо, особенно если на кону стоит читаемость кода. Короче, смотрите дети, как дядя делает и не повторяйте за ним. Хз че там в ваших модулях, может не положено ещё, но лучше бы показал на этом примере, как сортировать по двум параметрам с применением рекурсии

  • @ormtosteson9553
    @ormtosteson9553 8 місяців тому +1

    Комент