2017-01-05 4 views
0

を使用して多次元配列をアルファベット順に?jqueryのまたはJavaScript

myArray = alpha(myArray); 

結果:

myArray = [['2','Cat'],['1','Dog'],['3','Gerbil'],['0','Mouse']]; 
+1

、または*アルファベット順*は何を意味するのでしょうか? –

答えて

1

あなたは使用することができArray#sort

sort()方法場所に配列の要素をソートし、配列を返します。並べ替えは必ずしもstableではありません。デフォルトのソート順は、文字列のUnicodeコードポイントに従います。

と組み合わせて

localeCompare()方法は、参照文字列の前または後に来るか、ソート順で指定された文字列と同じであるか否かを示す数値を返します。

あなたはソートする意味

var array = [['5', 'Mouse'], ['0', 'Mouse'], ['1', 'Dog'], ['2', 'Cat'], ['3', 'Gerbil']]; 
 

 
array.sort(function (a, b) { 
 
    return a[1].localeCompare(b[1]); 
 
}); 
 

 
console.log(array);
.as-console-wrapper { max-height: 100% !important; top: 0; }

+0

'Mouse'、 'Dog'のインデックスを並べ替えることを知っていますか?また、1次元配列ではどうなっていますか? – Damien

+0

'[1]'と表示されていますか?内部配列のインデックスを使用します –

+0

[1]を参照してください、なぜそれは多次元配列なので[i] [1]のようなものではありませんか? – Damien

2

はあなたが使用することができますsort機能

var myArray = [['0','Mouse'],['1','Dog'],['2','Cat'],['3','Gerbil']]; 
 
console.log(alpha(myArray)); 
 

 
var arr2 = [['5','Mouse'],['0','Mouse'],['1','Dog'],['2','Cat'],['3','G‌​erbil']]; 
 
console.log('another array', alpha(arr2)); 
 

 
function alpha(arr) { 
 
    return arr.sort((a, b) => a[1] > b[1]); 
 
}

+0

ソートが適切に機能し、あなたのリターンが示唆すると、新しい配列が得られます。 –

+0

申し訳ありません@NinaScholz、あなたのポイントを理解していませんでした。説明してください。 – Andriy

+0

あなたの並べ替えは、例えば 'var myArray = [[' 5 '、' Mouse ']、[' 0 '、' Mouse ' ]、['1'、 'Dog']、['2'、 'C​​at']、['3'、 'Gerbil']]; –

関連する問題