2017-06-20 11 views
0

だから私はこの配列を持っている:この配列をJavascriptでアルファベット順に並べ替えるにはどうすればよいですか?

[[21, "Bowling Ball"], [2, "Dirty Sock"], [1, "Hair Pin"], [5, "Microphone"]], [3, "Half-Eaten Apple"],[7, "Toothpaste"]]; 

私は2番目の要素に応じてアルファベット順にこの配列の要素をソートしたいです。それで、私は次のように注文したかった:

[[21、 "ボーリングボール"]、[2、 "汚れた靴下]] [1、"ヘアピン "] [3、"ハーフエナンアップル " ]、[5、 "Microphone"]]、[7、 "Toothpaste"]];

JavaScriptでこれを達成するにはどうすればよいですか?

+0

何を試しましたか? – karthick

+0

@Ninaは、ユーザーのブラウザ、コンテンツ、サーバー、サイト、サイトの組織の「本部」などのロケール(アルファベットなど)を並べ替える人を決定する必要があります。 –

答えて

4

適切な配列と2番目の項目を使用すると、を使用して、Sorting non-ASCII charactersのヒントとの比較文字列を使用できます。

var array = [[21, "Bowling Ball"], [2, "Dirty Sock"], [1, "Hair Pin"], [5, "Microphone"], [3, "Half-Eaten Apple"], [7, "Toothpaste"]]; 
 

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

 
console.log(array);

+0

[MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort?v=control)への参照を更新してもよろしいですか? @Marie、W3S – Marie

+1

よりかなり信頼性が高いです。 –

+0

ありがとう! 'Array#sort'リンクの末尾に'#Sorting_non-ASCII_characters'ハッシュを投げて、必要ならばlocalCompareの例に持っていくこともできます。 – Marie

0
let stuff = [ 
    [21, "Bowling Ball"], 
    [2, "Dirty Sock"], 
    [1, "Hair Pin"], 
    [5, "Microphone"], 
    [3, "Half-Eaten Apple"], 
    [7, "Toothpaste"]]; 

これは、アルファベット順にアイテムを置くためにString.prototype.localeCompare()方法を用いて、配列項目をソートすることによって容易に達成することができます。

stuff.sort((item1, item2) => item1[1].localeCompare(item2[1])); 
関連する問題