2017-02-02 13 views
-1

私は、オブジェクト内の領域のリストを持っており、日本のアルファベットに応じてそれらをソートする:ソートJSオブジェクト

 
Object JP-01 : "Hokkido [北海道]" JP-02 : "Aomori-ken [青森県]" JP-03 : "Iwate-ken [岩手県]" JP-04 : "Miyagi-ken [宮城県] 

は、私は多分、角度を持つ、という方法をお教えください。

+1

あなたが求めていることはまったく明確ではありません。あなたは文字列の配列をソートしていますか?または配列以外のオブジェクトですか? (後者の場合は、オブジェクトをソートしようとするのは一般的には悪い考えですが、本来オブジェクトを構築するときにプロパティの順序に影響を与えるだけで、ルールは新しく、やや複雑になります)何を試しましたか?あなたはどこにいるのですか?文字列の['localeCompare'](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/localeCompare)メソッドが役に立つかもしれないことに注意してください。 –

+0

これらはあなたを助けるかもしれない: 1. http://stackoverflow.com/questions/3764269/what-does-sorting-mean-in-non-alphabetic-ie-asian-languages 2. https://で開発を.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/localeCompare –

+1

英語のネイティブスピーカーではないので、常に英字で大文字にされ、「wanna」はプロの文脈での使用のための言葉ではありません。 「したい」を使います。 –

答えて

1

異なる言語をサポートする関数String.localeCompare()を使用できます。ここに例があります:

var obj = { 
"JP-01": "Hokkido [北海道]", 
"JP-02": "Aomori-ken [青森県]", 
"JP-03": "Iwate-ken [岩手県]", 
"JP-04": "Miyagi-ken [宮城県]" 
}; 

Object.values(obj).map.sort(function (a, b) { 
    return a.localeCompare(b); 
}); 

これで、並べ替えられた領域を持つ配列が返されます。

+0

まず、touはそれらの文字列から 'a'と' b'を抽出しなければなりません。 –

+0

それは本当です、私はそれを忘れてしまいます。私は私の答えを変更します、ありがとう! – franmartosr

+0

これを使用する方法これはオブジェクト内のオブジェクト – vladimirProp

関連する問題