我有一个数组,其中包含与此类似的数据:
var committees = [
{
committee: "Apple Com",
userRole: "Member",
membersNum: 11
},
{
committee: "Orange Com",
userRole: "Member",
membersNum: 9
}, {
committee: "Banana Com",
userRole: "",
membersNum: 13
}, {
committee: "Strawberry Com",
userRole: "Vice President",
membersNum: 15
}, {
committee: "Lemon Com",
userRole: "",
membersNum: 13
},
{
committee: "Mango Com",
userRole: "Chair",
membersNum: 11
},
]
我要先把它们分类
用户角色
然后通过
委员会
. 这个
委员会
字段将始终具有值,而
用户角色
有时田地会
无效的
.
目前,我要做的是将数组分成两个数组。第一个数组将只返回
用户角色
不是
无效的
. 第二个数组返回
用户角色
是
无效的
. 接下来,我按照
委员会
然后我将它们连接起来。因此逻辑是这样的:
//get committees user is member of and committees user is not member of
var memberOf = [];
var nonMemberOf = [];
for(var i=0; i<committees.length; i++){
if(committees[i].userRole){
memberOf.push(committees[i]);
} else {
nonMemberOf.push(committees[i]);
}
}
memberOf.sort(function(a,b){return (a.committee > b.committee) ? 1 : -1; });
nonMemberOf.sort(function(a,b){return (a.committee > b.committee) ? 1 : -1; });
var allComs = memberOf.concat(nonMemberOf);
我花了3个多小时阅读并尝试实现我在这里的一些帖子上看到的内容:
我相信有更好的方法来做我正在做的事情,但我就是想不出来。如果有人能在这里发光,我会非常感激的。
另外,我不是要别人帮我做这件事,我想知道怎么做。对于能帮忙的人,提前谢谢!