あなたが私を投票する前に:私はこの問題に関するすべての既存の解決策をチェックしましたが、これに類似したものはありませんでした。
この配列をimage.name(JavaScriptまたはjQuery)のアルファベット順に並べ替えたい:
var myArray = [{
creator: {
"firstname": "Sally",
familyname: "Bloomfield"
},
location: {
"lat": 12.123,
lng: 8.846
},
image: {
name: "Hello World",
size: "50x80"
}
},
{
creator: {
firstname: "Bob",
familyname: "Jones"
},
location: {
lat: 31.593,
lng: 96.376
},
image: {
name: "Flowerpower",
size: "40x50"
}
},
{
creator: {
firstname: "John",
familyname: "Walker"
},
location: {
lat: 27.184,
lng: 123.120
},
image: {
name: "Guiness",
size: "33x66"
}
}
];
ソート後の配列出力:
[{
creator: {
firstname: "Bob",
familyname: "Jones"
},
location: {
lat: 31.593,
lng: 96.376
},
image: {
name: "Flowerpower",
size: "40x50"
}
},
{
creator: {
firstname: "John",
familyname: "Walker"
},
location: {
lat: 27.184,
lng: 123.120
},
image: {
name: "Guiness",
size: "33x66"
}
},
{
creator: {
firstname: "Sally",
familyname: "Bloomfield"
},
location: {
lat: 12.123,
lng: 8.846
},
image: {
name: "Hello World",
size: "50x80"
}
}
]
したがって、最初の画像Fは低電力、次にG uiness、次にH elloWorldです。
私が試したので、Javascriptの既存のソート関数はこれを処理できません。そのような構造をソートすることさえ可能ですか?
どんな助けでも大歓迎です。
myArray.sort(function(a, b) {
if (a.image.name === b.image.name) {
return 0;
}
return a.image.name < b.image.name ? -1 : 1;
});
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加