JavaScriptの中でsortの方法で二次元配列の順序付けを行います.
6306 ワード
JavaScriptにおける配列のソート方法
一番多く使われているのはもちろんパッケージされたsortの使い方です.sortの方法は私達の思ったように使いやすいのではありませんて、単純なarr.sort()ではありませんて、私達の定義の中のコールバック関数が必要です!sort()メソッドはデフォルトでは昇順に配列項目を並べていますので、sort()メソッドはtoString()の変換方法を呼び出して、その結果得られた文字列を比較します.私達が比較したのが数字であっても、彼は数字を文字列に変えて並べます.次の例を見てください.
一番多く使われているのはもちろんパッケージされたsortの使い方です.sortの方法は私達の思ったように使いやすいのではありませんて、単純なarr.sort()ではありませんて、私達の定義の中のコールバック関数が必要です!sort()メソッドはデフォルトでは昇順に配列項目を並べていますので、sort()メソッドはtoString()の変換方法を呼び出して、その結果得られた文字列を比較します.私達が比較したのが数字であっても、彼は数字を文字列に変えて並べます.次の例を見てください.
var arr1 = [0, 1, 3, 10, 16, 5, 9, 0, 3];
var arr2 = ['bangbang', 'father', 'mother', 'brother', 'sister', true, false, 0, 1, 6, 13];
console.log(arr1.sort()) // , ,[ 0, 0, 1, 10, 16, 3, 3, 5, 9 ]
console.log(arr2.sort()); //[ 0,1,13,6,'bangbang','brother',false,'father','mother','sister',true]
//
function ascend(a,b){
return a-b;
}
//
function descend(a,b){
return b-a;
}
console.log(arr1.sort(ascend)); //[ 0, 0, 1, 10, 16, 3, 3, 5, 9 ]
console.log(arr1.sort(descend)); //[ 16, 10, 9, 5, 3, 3, 1, 0, 0 ]
二:ソト方式で二次元配列の並べ替えを行います.var arr1 = [[4,5,7],[11,3,6,100,77],[12,9,12,10],[3,1,2,99,22]];
function ascend(x,y){
return x[3] - y[3]; // 4
}
function descend(x,y){
return y[0] - x[0]; // 1
}
console.log(arr1.sort(ascend));
console.log(arr1.sort(descend));
もちろん他の並べ替え方法もあります.もう一度包装がいいと言っていますが、実はいろんな種類があります.ついでに、reverseの方法は何ですか?どう使いますかreverse方法は配列項目の順序を逆転します.次の例を参照してください.var arr1 = [0, 1, 3, 10, 16, 5, 9, 0, 3];
var arr2 = ['bangbang', 'father', 'mother', 'brother', 'sister', true, false, 0, 1, 6, 13];
console.log(arr1.reverse());//[ 3, 0, 9, 5, 16, 10, 3, 1, 0 ]
console.log(arr2.reverse());//[ 13,6,1,0,false,true,'sister','brother','mother','father','bangbang' ]