ホームページ >ウェブフロントエンド >jsチュートリアル >Sort() 関数のさまざまな使用法_JavaScript スキル

Sort() 関数のさまざまな使用法_JavaScript スキル

WBOY
WBOYオリジナル
2016-05-16 15:10:001669ブラウズ

sort() メソッドは、配列の要素をソートするために使用されます。ヘッダー ファイルのアルゴリズムに含まれています

文法

arrayObject.sort(sortby)

参数 描述
sortby 可选。规定排序顺序。必须是函数。

戻り値

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

1. デフォルトの状況

デフォルトでは、sort() メソッドは配列項目を昇順に並べ替えます。並べ替えを行うために、sort() メソッドは各配列項目の toString() 変換メソッドを呼び出し、結果の文字列を比較して並べ替え方法を決定します。以下のように:

var values = ["orange","apple","banana"];
values.sort();
console.log(values);//结果["apple", "banana", "orange"]

ただし、配列内の各項目が数値であっても、sort() メソッドは次のように文字列を比較します。

var values = [,,,,];
values.sort();
console.log(values);//结果[, , , , ]

2. 値を並べ替えます

sort() メソッドは比較関数をパラメータとして受け取ることができます。

比較関数は 2 つのパラメーターを受け取ります。最初のパラメーターが 2 番目のパラメーターの前にある場合は、負の数を返します。2 つのパラメーターが等しい場合は、0 を返します。最初のパラメーターが 2 番目のパラメーターの後である場合は、値を返します。正の数。

function compare(a, b){
return (a - b);
}//按升序排列的比较函数
var values = [,,,,];
values.sort(compare);
console.log(values);//结果[, , , , ]

3. オブジェクト属性に従って配列を並べ替えます

最初に属性名を受け取る関数を定義し、次にこの属性名に基づいて比較関数を作成します。この関数の定義は次のとおりです:

function createComparisonFunction(propertyName){
return function(object, object){
var a = object[propertyName];
var b = object[propertyName];
if(a < b){
return -;
}else if(a > b){
return ;
}else{
return ;
}
}
}//返回一个根据属性名创建的按升序排列的比较函数
内部関数は propertyName パラメーターを受け取った後、角括弧表記を使用して指定されたプロパティの値を取得します。

上記の関数は以下の例のように使用できます。

var data = [{name:"Lily", age: }, {name:"Judy", age: }];
data.sort(createComparisonFunction("name"));
console.log(data[].name);//Judy
data.sort(createComparisonFunction("age"));
console.log(data[].name);//Lily
上記の内容は、エディターが紹介した Sort() 関数のさまざまな使い方です。お役に立てば幸いです。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。