사실, 배열의 정렬 메소드를 사용하여 js에서 배열 정렬을 구현하는 것은 비교적 간단합니다.
1.정렬
간단한 배열 정렬 구현
var arr = [] ;
for(var i=0;i arr.push(Math.floor(Math.random()*100))
}
arr .sort(function (a,b){
return a>b?1:-1;
})
alert(arr)
단순히 정렬을 사용할 수는 없습니다. 기본적으로 정렬 방법은 우리가 생각하는 숫자 크기가 아닌 ASCII 알파벳순으로 정렬됩니다. sort() 메서드는 메서드를 매개 변수로 받아들일 수 있습니다. 이 메서드에는 두 개의 매개 변수가 있습니다. 각 정렬 비교에서 두 배열 항목을 나타냅니다. sort() 정렬 시 두 배열 항목이 비교될 때마다 이 매개변수가 실행되며, 비교된 두 배열은
항목은 이 함수에 인수로 전달됩니다. 함수가 값 1을 반환하면 두 배열 항목의 순서가 바뀌고, 그렇지 않으면 바뀌지 않습니다.
알고리즘의 배열 정렬
for(var i=0;i arr.push(Math.floor(Math.random()*100))
}
// 없음 정렬된 arr 배열 생성
function sort(arr,start,end){
//배열 길이는 1
if(start == end ){
return [arr[start]]
}else if(시작 == 끝-1){
~ [end],arr[start]]
}else{ l = Math.floor((start end)/2); //왼쪽 배열
var arrLeft = sort(arr, start,l);
//오른쪽 배열
var arrRight = sort (arr,l 1,end); /Return result
var result = [];
//왼쪽과 오른쪽 배열을 두 부분으로 나누고 배열의 첫 번째 숫자만 비교합니다. 값이 작으면 결과에 넣고 삭제합니다. 작은 값을 배열에 사용하십시오. 왼쪽 배열 또는 오른쪽 배열이 나타나고 데이터가 없는 경우
//result 배열을 concat을 사용하여 데이터가 있는 배열과 결합하고 결과를 반환합니다
while(arrLeft.length>0 || arrRight.length> ;0 ){
if(arrLeft.length==0){
result = result.concat(arrRight)
break;
}else if(arrRight.length==0){
결과 = result.concat(arrLeft);
break;
if(arrLeft[0]
document.write(arr '
' arrSort);
설명: 배열 정렬은 주로 배열을 더 이상 수행할 수 없을 때까지 두 개로 분할하는 작업을 포함하며, 결국 유일한 옵션은 배열의 길이가 홀수와 두 개로 나누어지기 때문에 배열을 하나 또는 두 개로 분할하는 것입니다. 분할 최종 배열에 1~2개만 있을 경우 정렬이 시작되고 결과가 반환되며, 이 결과를 하나씩 비교하여 병합합니다. 왜 이 방법이 이렇게 복잡할까 생각하실 수도 있는데, 항상 첫 번째 방법을 사용하면 안 되나요? 사실 당연히 할 수 있지만, 이 세상에는 아직도 성능이라는 단어가 있습니다. 계산된 결과 시간은 차이가 없습니다. 데이터가 수억 또는 수십억이면 여전히 첫 번째 방법을 사용할 자신감이 있습니까? 실제로 js의 알고리즘은 많은 문제를 작은 문제로 나누어서 정복하는 것입니다. 해결하다.
2. 배열에서 중복 제거
중복을 제거하는 쉬운 방법: 먼저 빈 배열을 선언하고 for 루프에 중복 배열을 삽입한 다음 반복 삽입을 건너뜁니다.
var arr = []
for(var i=0;i arr.push(parseInt; (Math.random()*10))
}
Array.prototype.indexOf = function(n){
for(var i=0;i
return i;
}
}
return -1
}
function deleteDup(arr){
var 결과 = [];
for(var i=0;i
result.push(arr[i]);
} />' arr2)
중복 제거 알고리즘 배열
복사 code
for(var i=0;i
return i; 🎜> ~ 🎜> if(arr[s]==arr[e]){
return [arr[s ]]
}else{
return [arr[s],arr[e]];
s,l );
//오른쪽
var arrR = RemoveDup(arr,l 1,e);
//왼쪽부터 결과 복사
var result = arrL
//결과에 고유한 데이터를 삽입하는 루프
for(var i=0;i if(result.indexOf(arrR[i])== -1 ) result.push(arrR[i])
}
return result; 🎜>}
var arrDup = RemoveDup(arr, 0, arr.length-1)
document .write(arr '
' arrDup);
설명: 반복된 배열을 마지막에 하나의 데이터 또는 두 개의 배열만 남을 때까지 잘라내고, 왼쪽의 데이터를 결과에 넣고, 오른쪽의 반복 삽입을 반복하지 않고 건너뜁니다. 루프가 완료될 때까지 결과가 반환될 수 있습니다

使用Python实现XML数据的筛选和排序引言:XML是一种常用的数据交换格式,它以标签和属性的形式存储数据。在处理XML数据时,我们经常需要对数据进行筛选和排序。Python提供了许多有用的工具和库来处理XML数据,本文将介绍如何使用Python实现XML数据的筛选和排序。读取XML文件在开始之前,我们需要先读取XML文件。Python有许多XML处理库,

在这个问题中,一个字符串被作为输入,我们必须按字典顺序对字符串中出现的单词进行排序。为此,我们为字符串中的每个单词(之间用空格区分)分配一个从1开始的索引,并以排序索引的形式获得输出。String={“Hello”,“World”}“Hello”=1“World”=2由于输入字符串中的单词已按字典顺序排列,因此输出将打印为“12”。让我们看看一些输入/结果场景-假设输入字符串中的所有单词都相同,让我们看看结果-Input:{“hello”,“hello”,“hello”}Result:3获得的结

Java是一种功能强大的编程语言,广泛应用于各类软件开发中。在Java开发中,经常会涉及到对集合进行排序的场景。然而,如果不对集合排序进行性能优化,可能会导致程序的执行效率下降。本文将探讨如何优化Java集合排序的性能。一、选择合适的集合类在Java中,有多种集合类可以用来进行排序,如ArrayList、LinkedList、TreeSet等。不同的集合类在

如何利用Vue和ElementPlus实现数据的分组和排序Vue是一种流行的JavaScript框架,它可以帮助我们构建前端应用程序。ElementPlus是基于Vue的桌面端组件库,它提供了丰富的UI组件,使我们能够轻松地构建出漂亮且用户友好的界面。在本文中,我们将探讨如何利用Vue和ElementPlus来实现数据的分组和排序。首先,我们需要准备一

Java开发中,集合排序和去重是常见的需求。然而,在处理大数据集合时,性能往往会成为一个问题。本文将介绍一些优化技巧,帮助提升集合排序和去重的性能。一、使用合适的数据结构在Java中,最常用的数据结构是ArrayList和HashSet。ArrayList适用于需要保持元素顺序的情况,而HashSet则适用于需要去重的情况。在排序和去重的场景中,我们可以使用

排序算法是计算机科学中的一个重要概念,是许多应用程序的核心部分。在日常生活和工作中,我们经常需要对数据进行排序,例如排列名单、对数值进行排序等。Java作为一种广泛使用的编程语言,提供了许多内置的排序算法。本文将详细介绍Java中实现的常见排序算法。1.冒泡排序(BubbleSort)冒泡排序是最简单但最慢的排序算法之一。它遍历整个数组,比较相邻的元素并一

如何在Java14中使用Records类来实现自动比较和排序Java14引入了一种新的类称为Records类,它为我们提供了一种简洁而强大的方式来定义不可变的数据类。Records类具有自动为每个字段生成getter方法、equals()方法和hashCode()方法的特性,这使得比较和排序非常方便。在这篇文章中,我们将通过示例代码来演示如何在Java

PHPusort()函数使用指南:排序数组在PHP编程中,我们经常需要对数组进行排序。PHP提供了很多函数用于数组的排序,其中usort()函数可以灵活的对数组进行自定义排序。本文将介绍usort()函数的使用方法和注意事项,并通过实例演示如何使用usort()函数对数组进行排序。一、usort()函数简介PHPusort()函数


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

MinGW - Windows용 미니멀리스트 GNU
이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

Dreamweaver Mac版
시각적 웹 개발 도구
