4 / 4 / 3
Регистрация: 02.02.2018
Сообщений: 16

Сортировка .sort() - Порядок сравнения получаемых значений. Почему так?

02.02.2018, 00:50. Показов 1891. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, уважаемые форумчане!
Я недавно изучаю js и сейчас перед изучением ООП по (learnjs) решил освежить память и пробежатся по всем темам. До этого .sort() сталкивался и все вродибы нормально, но...
Сейчас при повторном изучении стало интересно, как именно он берет числа и сравнивает. Тоесть в начале я понял, что так:
(я опишу логику как я понял в начале)
есть массив arr = [1,2,3,4,5,6];
Условие сравнения неважно в этом примере.
И я думал, что сравнение идет 1 и 2 потом 2 и 3 потом 3 и 4 ну и т.д. А если будет такой массив [3,4,1,6] - при подходе который я описал числа 3 и 6 не должны сравниваться между собой.

Попробовыал заглянуть под капот (решение скорее всего не ахти, но суть поймите)) )
JavaScript
1
2
3
4
5
6
7
8
9
10
var arr = [3,44,52,34,223,523,54,76,43,1,3,44,5,66]; // есть массив
function soNum(a,b){// функцию проверки решил описать отдельно
  console.log(a + "  " +  b + " - Какие цифры сравниваем?"); // попробовал сделать маркер чтобы понять, как именно сравнивает js
 
  if(a > b) return 1;
  if(a < b) return -1;
  return 0;
};
arr.sort(soNum);
console.log(arr);
Тоесть сравнение в массиве рандомно? И получается каждое значение массива обязательно сравнится со всеми значениями?

Если кто знает статью в которой это описывается более детально, дайте ссылку пожалуйста.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.02.2018, 00:50
Ответы с готовыми решениями:

Почему стандартная сортировка вектора std::sort намного быстрее сортировки вставками/пузырьком?
Здравствуйте, объясните, пожалуйста, как реализована std::sort. Ясно, что через итераторы, но почему такой сильный выигрыш во времени (1.4...

Сортировка данных, получаемых из БД
Добрый день, форумчане! Есть у меня задача, вытянуть данные о принтерах с принт-сервера ( около 100шт.) и заполнить базу данных при...

Операции над указателями и вывод получаемых значений
Использую компилятор NetBeans 8.1 под Linux Mint 17.3.Не могу откомпилировать программу, не совсем понятна проблема. Кто-нибудь может...

5
 Аватар для atanov
640 / 481 / 172
Регистрация: 26.05.2016
Сообщений: 2,674
02.02.2018, 08:15
Вот здесь https://learn.javascript.ru/array-methods

Судя по другим темам Вы знакомы с этим учебником
0
4 / 4 / 3
Регистрация: 02.02.2018
Сообщений: 16
02.02.2018, 10:52  [ТС]
Да, знаком)) Я несколько раз просматривал в учебнике и нашел несколько статей на эту тему, но косвенных. Может не настолько важный вопрос поэтому просто незацикливаются. Но если я смогу это понять, то буду очень рад))
0
 Аватар для atanov
640 / 481 / 172
Регистрация: 26.05.2016
Сообщений: 2,674
02.02.2018, 10:58
Цитата Сообщение от SobolIgor Посмотреть сообщение
Да, знаком)) Я несколько раз просматривал в учебнике и нашел несколько статей на эту тему, но косвенных. Может не настолько важный вопрос поэтому просто незацикливаются. Но если я смогу это понять, то буду очень рад))
Я тоже пытался, но всё же оставил эти попытки
0
the hardway first
Эксперт JS
 Аватар для j2FunOnly
2475 / 1847 / 910
Регистрация: 05.06.2015
Сообщений: 3,610
02.02.2018, 11:05
Лучший ответ Сообщение было отмечено SobolIgor как решение

Решение

Цитата Сообщение от SobolIgor Посмотреть сообщение
Но если я смогу это понять
Почитайте алгоритмы сортировки: BubbleSort, QuickSort, InsertionSort, MergeSort. Я не нашел достоверной информации какой конкретно в каком браузере используется. Где-то говорят что MergeSort, где-то - InsertionSort, кто пишет, что разные алгоритмы используются в зависимости от типов данных
1
4 / 4 / 3
Регистрация: 02.02.2018
Сообщений: 16
02.02.2018, 11:36  [ТС]
О это уже зацепка! Чет сам не подумал, что алгоритм сортировки может от браузера зависит) Спасибо за направление, буду копать дальше))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.02.2018, 11:36
Помогаю со студенческими работами здесь

Почему VBA так странно делает сравнение значений?
Всем привет, У меня возник такой вопрос. В ячейке A1 высвечивается #ИМЯ?. Я создал такую программку: Sub msgboxerror() On Error...

Из некоторого количества значений натурального N, получаемых от пользователя, указать является ли простым числом число
Для каждого из некоторого количества значений натурального N, получаемых от пользователя, указать является ли простым числом число,...

Запись в два столбца значений, получаемых при обработке строк, найденных в файлах по двум ключевым словам
Мой вопрос: Есть команда: FOR /F &quot;tokens=3 delims=&gt;&lt;&quot; %%i in ('findstr &quot;/R250GB&quot; C:\11111\*.XML') do (echo.%%i&gt;&gt;C:\222\kod.txt) Есть...

.sort() сортировка
есть некий массив (list) a, каждое значение которого - строка массив а сформирован поэлементным добавлением по определенному алгоритму...

Сортировка .sort
Здравствуйте, подскажите пожалуйста как отсортировать числа в порядке возрастания a = input(&quot;Введите все значения&quot;).split() ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

Новые блоги и статьи
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru