Предисловие
Сортировка массива является очень распространенным требованием, особенно в бэкэнде. Конечно, фронт также имеет это требование.
Конечно, есть готовые методы для сортировки массива. Это метод сортировки ().
Давайте начнем смотреть на это первым.
Стандартный ответ, метод сортировки
var arr = [45,98,67,57,85,6,58,83,48,18]; console.log ('оригинальный массив'); console.log (arr); console.log («Сортировка сортировки от малого к большому '); консоль (arr.sort (fecund small '); console.log (arr.sort (function (a, b) {return ba})); console.log (' метод сортировки, отсортированный от большого в малый '); console.log (arr.sort (function (a, b) {return ba}));Результаты работы следующие:
Здесь следует отметить, что такого рода отсортируется по алфавиту по умолчанию. Поэтому, когда мы организуем числа, нам нужна пользовательская функция.
Как указано выше кода
функция (a, b) {return ab}
Это функция сортировки от малого до большого. Это выглядит очень просто, но я не понимаю, поэтому я буду реализовать сортировку в соответствии с моими идеями ~
Мой ответ, для сортировки методов
var arr = [45,98,67,57,85,6,58,83,48,18]; консоль small '); console.log (' arrsortmaxtomin (arr); // Найти наименьшее значение в функции массива arrminnum (arr) {var minnum = infinity, index = -1; for (var i = 0; i <arr.length; i ++) {if (arr [i] <minnum) {minnum = arr [i]; {"minnum": minnum, "index": index};} // возвращает результат сортировки от малого на большую в функции массива arrsortmintomax (arr) {var arrnew = []; var arrold = arr.concat (); for (var i = 0; i <arr.length; i ++) {arrnew.push (arrminnum (arrold) .minnum); arrold.splice (arrminnum (arrold) .index, 1)}; return (arrnew);} // Найти наибольшее значение в функции массива arrmaxnum (arr) {var maxnum = -Infinity, index = -1; for (arry artades; {if (arr [i]> maxnum) {maxnum = arr [i]; index = i;}}; return {"maxnum": maxnum, "index": index};} // возвращает результат сортировки от большой в малый в функции Arrsortmaxtomin (arr) {arrnew = []; 0;Результаты работы показаны на рисунке ниже
Знания в моем методе
1. Когда функция должна возвращать несколько деталей данных, более удобно использовать формат объекта JSON. Например, return {"minnum": minnum, "index": index} выше;
2. Если вы используете метод var arrold = arr для копирования массива и работать на Арролде, он повлияет на исходный массив Arr. Потому что JavaScript разделен на примитивные типы и типы эталон (аналогично Java и C#). Массив - это ссылочный тип. Аррольд получает ссылку, поэтому изменение на Арролд повлияет на Arr .
Методы копирования массивов (i) var arrold = arr.concat (); , Принцип: функция concat () - это функция, используемая для сплайсирования нескольких массивов. Этот метод письма эквивалентен саму сплайсинга. То есть копирование.
Методы копирования массивов (2) var arrold = arr.slice (0). Принцип: функция slice () - это функция, которая перехватывает массивы. Установка значения на 0 - это перехват их все, что эквивалентно копированию.
3. Метод SPLICE () используется для вставки, удаления или замены элементов массива. Вот функция, которая использует свои удаленные места в массиве.
4. Разница между моим методом и методом сортировки.
Мой метод не изменяет исходный массив, в то время как сортировка является модификацией, основанной на исходном массиве.
Мой метод возвращает новый массив, и оригинальный массив не исчез и не изменился. (Кажется, это то же самое, что и вышеуказанное предложение ...)
5. Сортировка - очень, очень базовая и очень важная точка знания в программировании. Сортировка сортировки относительно низкая при выполнении большого количества данных. Конечно, эффективность моего метода также очень низкая.
Эта статья воспроизводится по адресу: http://blog.csdn.net/fungleo/article/details/515555590
Выше приведено все содержание метода сортировки сортировки сортировки JavaScript и метода сортировки самовнимания, который редактор представил вам. Я надеюсь, что это будет полезно для вас. Если у вас есть какие -либо вопросы, пожалуйста, оставьте мне сообщение. Редактор ответит вам вовремя. Большое спасибо за вашу поддержку веб -сайта Wulin Network.