我有一组带有嵌套数组对象的对象。
[
{
"neighborhoods": [
{
"origin": "Kenwood",
"destination": "Portage Bay"
}
]
},
{
"neighborhoods": [
{
"origin": "First Hill",
"destination": "Denny-Blaine"
}
]
},
{
"neighborhoods": [
{
"origin": "Belltown",
"destination": "Eastlake"
}
]
}
]
我想根据原点值按字母顺序对对象进行排序。最有效的方法是什么?
答案 0 :(得分:0)
您可以将索引为零的属性和对象与原始值进行排序。
var array = [{ neighborhoods: [{ origin: "Kenwood", destination: "Portage Bay" }] }, { neighborhoods: [{ origin: "First Hill", destination: "Denny-Blaine" }] }, { neighborhoods: [{ origin: "Belltown", destination: "Eastlake" }] }];
array.sort(function (a, b) {
function getValue(o) { return o.neighborhoods[0].origin; }
var aa = getValue(a),
bb = getValue(b);
return aa > bb || -(aa < bb);
});
console.log(array);
.as-console-wrapper { max-height: 100% !important; top: 0; }