ホームページ ウェブフロントエンド jsチュートリアル Javascript 配列のソート sort() メソッドと reverse() メソッド_JavaScript スキル

Javascript 配列のソート sort() メソッドと reverse() メソッド_JavaScript スキル

May 16, 2016 pm 05:52 PM
sort 配列のソート

その内:

1. JavaScript の sort() で比較関数が指定されていない場合、デフォルトでは文字エンコーディング順に昇順にソートされます。つまり、値を並べ替える場合、望む結果が得られない可能性があります。

2.JavaScript の reverse() は、配列内の要素の順序を逆にします。

上記の最初の点を見てください。arr=[1,6,3,7,9] という配列がある場合、arr.sort() を使用すると、配列の順序は 1,3、 6、7、9と希望通りの結果が得られました。

次の配列ソートを見てください: arr=[3,1,16,34,30]、arr.sort() を実行すると、必要な 1,3 が得られますか? 16 はどうでしょうか? 、30、34?

実行後の結果は、1、16、3、30、34 であることがわかりました。明らかに、結果は望んでいたものではありません。実際、sort メソッドは上記の値を文字列形式で並べ替えます。これは、配列 arr1=['3','1','16','34','30'] の並べ替え結果と一致します。

コードは次のとおりです:

コードをコピーします コードは次のとおりです:

var arr= [3,1,16,34,30];
var arr1=['3','1','16','34','30']; (arr.sort() ); // 1,16,3,30,34
alert(arr1.sort()) // 1,16,3,30,34


では、正しい結果を取得したい場合: 1、3、16、30、34 はどうすればよいでしょうか?

JavaScript のマニュアルを確認してください。マニュアルの説明は次のとおりです。

定義と使用法

sort() メソッドは、配列の要素をソートするために使用されます。

構文

arrayObject.sort(sortby) パラメータ 説明
sortby オプション。ソート順を指定します。関数である必要があります。

戻り値

配列への参照。配列は元の配列に基づいてソートされ、コピーは作成されないことに注意してください。

説明

このメソッドを呼び出すときにパラメーターが使用されない場合、配列内の要素はアルファベット順、より正確には文字エンコーディングの順にソートされます。これを実現するには、まず、比較のために配列要素を (必要に応じて) 文字列に変換します。

他の基準で並べ替える場合は、2 つの値を比較し、2 つの値の相対的な順序を示す数値を返す比較関数を提供する必要があります。比較関数には 2 つのパラメーター a と b が必要で、その戻り値は次のとおりです:

a が b より小さい場合、a はソートされた配列内で b より前に表示され、0 より小さい値を返します。
a が b に等しい場合、0 を返します。
a が b より大きい場合、0 より大きい値を返します。
=====================================

上記説明より数値で並べ替えたい場合は、比較関数を提供する必要があることがわかります。一般的な比較関数は次のとおりです。

コードをコピー コードは次のとおりです。
function sortArr (m, n){
if(mreturn -1;//より小さい、return -1
else if(m>n)
return 1;//より大きい, return 1
else return 0;//Equal, return 0
}

簡略化すると、次の 2 つの形式で記述できます:

コードをコピーします コードは次のとおりです。
function sortArr(m,n){
return m-n; >}



関数sortArr(m,n){
return m>n?1 :(m}


次に arr.sort(sortArr) を実行し、必要な結果が得られることがわかります: 1,3,16,30,34。言い換えると、配列は整数値に従って昇順にソートされます。
この場合、配列を降順に並べ替えたい場合はどうすればよいでしょうか?という新たな疑問が生じます。

1 つのアイデアは、sortArr 関数の戻り値を変更することです。mn の場合は負の値を返し、m=n の場合は 0 を返します。 。それでおしまい。

昇順と降順の 2 つの関数を作成できます。次に、さまざまなニーズに応じてさまざまな関数を呼び出すだけです。

さらに、上記の別の関数 reverse() を呼び出して、配列を昇順に並べ替える場合、配列は reverse() メソッドを呼び出して配列の順序を逆にすることもできます。 、配列を降順にソートして実装できるようにします。

コードは次のとおりです:


コードをコピーします コードは次のとおりです:
arr.sort (sortArr).reverse();


概要: この記事では主に Javascript での配列のソートを紹介します。デフォルトでは文字列によるソートが行われるため、次のようにソートを実現します。他の形式のルールの場合は、独自の比較関数を定義する必要があります。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

uniapp でドラッグ アンド ドロップの並べ替えとドラッグ アンド ドロップ操作を実装する方法 uniapp でドラッグ アンド ドロップの並べ替えとドラッグ アンド ドロップ操作を実装する方法 Oct 19, 2023 am 09:39 AM

Uniapp はクロスプラットフォーム開発フレームワークであり、その強力なクロスエンド機能により、開発者はさまざまなアプリケーションを迅速かつ簡単に開発できます。 Uniapp でのドラッグ アンド ドロップの並べ替えとドラッグ アンド ドロップ操作の実装も非常に簡単で、さまざまなコンポーネントや要素のドラッグ アンド ドロップ操作をサポートできます。この記事では、Uniapp を使用してドラッグ アンド ドロップの並べ替えとドラッグ アンド ドロップ操作を実装する方法を紹介し、具体的なコード例を示します。ドラッグ アンド ドロップによる並べ替え機能は、多くのアプリケーションで非常に一般的であり、たとえば、リストのドラッグ アンド ドロップによる並べ替え、アイコンのドラッグ アンド ドロップによる並べ替えなどの実装に使用できます。以下に列挙します

C++sort 関数の基礎となる原則とアルゴリズムの選択を調べる C++sort 関数の基礎となる原則とアルゴリズムの選択を調べる Apr 02, 2024 pm 05:36 PM

C++sort 関数の最下層はマージ ソートを使用し、その複雑さは O(nlogn) で、クイック ソート、ヒープ ソート、安定したソートなど、さまざまなソート アルゴリズムの選択肢を提供します。

PHP でキー名を保持する高速配列ソート方法 PHP でキー名を保持する高速配列ソート方法 May 02, 2024 pm 03:06 PM

キー名を保持する PHP の高速配列ソート方法: ksort() 関数を使用してキーをソートします。ユーザー定義の比較関数を使用して並べ替えるには、uasort() 関数を使用します。実際のケース: ユーザー ID を保持しながら、ユーザー ID とスコアの配列をスコアごとに並べ替えるには、uasort() 関数とカスタム比較関数を使用できます。

C# の Array.Sort 関数を使用して配列を並べ替える C# の Array.Sort 関数を使用して配列を並べ替える Nov 18, 2023 am 10:37 AM

タイトル: Array.Sort 関数を使用して C# で配列を並べ替える例 本文: C# では、配列は一般的に使用されるデータ構造であり、多くの場合、配列を並べ替える必要があります。 C# には Array クラスが用意されており、このクラスには配列を簡単に並べ替えるための Sort メソッドがあります。この記事では、C# で Array.Sort 関数を使用して配列を並べ替える方法を示し、具体的なコード例を示します。まず、Array.Sort 関数の基本的な使用法を理解する必要があります。 Array.So

JS 配列のソート: sort() メソッドの動作原理とメカニズムの詳細な分析 JS 配列のソート: sort() メソッドの動作原理とメカニズムの詳細な分析 Dec 28, 2023 am 11:47 AM

JS 配列のソートを深く理解するには、sort() メソッドの原理とメカニズム、具体的なコード例が必要です はじめに: 配列のソートは、日常のフロントエンド開発作業で非常に一般的な操作の 1 つです。 JavaScript の配列ソート メソッド sort() は、最も一般的に使用される配列ソート メソッドの 1 つです。しかし、sort() メソッドの原理とメカニズムを本当に理解していますか?この記事では、JS 配列の並べ替えの原理とメカニズムを深く理解し、具体的なコード例を示します。 1.sort()メソッドの基本的な使い方

PHP 配列のカスタム並べ替えアルゴリズムを作成するためのガイド PHP 配列のカスタム並べ替えアルゴリズムを作成するためのガイド Apr 27, 2024 pm 06:12 PM

カスタム PHP 配列ソート アルゴリズムを作成するにはどうすればよいですか?バブルソート: 隣接する要素を比較および交換することによって配列をソートします。選択ソート: 毎回最小または最大の要素を選択し、現在の位置と入れ替えます。挿入ソート:ソートされた部分に要素を1つずつ挿入します。

PHP配列を値でソートした後、キー名を保持するにはどうすればよいですか? PHP配列を値でソートした後、キー名を保持するにはどうすればよいですか? May 02, 2024 pm 04:09 PM

PHP でキー名を保持しながら配列を値でソートする方法は、usort() 関数を使用して配列を値でソートすることです。無名関数を比較関数として usort() 関数に渡し、要素値の差を返します。 usort() は、キー名を変更せずに、匿名関数に従って配列をソートします。

C# で List.Sort 関数を使用してリストを並べ替える方法 C# で List.Sort 関数を使用してリストを並べ替える方法 Nov 17, 2023 am 10:58 AM

C# で List.Sort 関数を使用してリストを並べ替える方法 C# プログラミング言語では、リストを並べ替える必要があることがよくあります。 List クラスの Sort 関数は、この目的のために設計された強力なツールです。この記事では、C# で List.Sort 関数を使用してリストを並べ替える方法を紹介し、読者がこの関数をより深く理解し、適用できるように具体的なコード例を示します。 List.Sort 関数は List クラスのメンバー関数であり、リスト内の要素を並べ替えるために使用されます。この関数は受信します

See all articles