對於如何解決這類問題,我完全陷入困境並留下空白。
JS對象在JavaScript中對嵌套數組進行排序
o={"items":[
{"name":"Name 1","types":[
{"type":"Type 4","subtype":"Sub a"}
]},
{"name":"Name 2","types":[]},
{"name":"Name 3","types":[
{"type":"Type 1","subtype":"Sub x"}
]}
]}
我想按類型排序,沿o.sortByType東西線();
Array.prototype.sortByType = function(){
this.sort(function(a,b) {
var ap = a[types][type], bp = b[types][type];
if(ap!=undefined||bp!=undefined){
if (ap < bp) {return -1;}
if (ap > bp) {return 1;}
}else{
return 0;
}
})
return this;
}
我試圖得到重新有序排列:
項目:
名稱3,
名稱1,
名稱這裏使用2
排序功能,適用於任何非項目對象的內在屬性。
如果我在排序中使用[types] [type],它會返回錯誤,「types」沒有定義。
如果我使用a.types.type,它只是返回未修改的數組。
就像我說的,我很可怕地卡住了,任何幫助或指針將不勝感激。
你的分揀條件是什麼?你想通過它的「類型」對數組進行排序嗎? – styrr