对于如何解决这类问题,我完全陷入困境并留下空白。
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