vm.userListData = [{
"listId": 1,
"permission": "READ"
}, {
"listId": 2,
"permission": "WRITE"
}, {
"listId": 2,
"permission": "READ"
}, {
"listId": 3,
"permission": "READ"
}, {
"listId": 3,
"permission": "WRITE"
}, {
"listId": 4,
"permission": "WRITE"
}, {
"listId": 5,
"permission": "WRITE"
}]
をそして、この1:私はフィルタリングして一意の値を取得し、配列にそれらをプッシュする必要があり、この2つのJSONデータを
vm.userComplementaryList = [{
"listId": 1,
"confidentiality": "PUBLIC",
"listName": "List name here..1",
"permission": "WRITE"
}, {
"listId": 2,
"confidentiality": "PUBLIC",
"listName": "List name here..2",
"permission": "READ"
}, {
"listId": 3,
"confidentiality": "CONFIDENTIAL",
"listName": "List name here..3",
"permission": "WRITE"
}, {
"listId": 4,
"confidentiality": "CONFIDENTIAL",
"listName": "List name here..4",
"permission": "WRITE"
}, {
"listId": 5,
"confidentiality": "CONFIDENTIAL",
"listName": "List name here..5",
"permission": "READ"
}]
と重複する値(listIdとpermission)を他の配列にプッシュします。
vm.listForGrid = [];
vm.listForDropDown = [];
(function(){
for(var i = 0; i < vm.userComplementaryList.length; i++) {
for(var j = 0; j < vm.userListData.length; j++) {
if((vm.userComplementaryList[i].listId == vm.userListData[j].listId) && (vm.userComplementaryList[i].permission == vm.userListData[j].permission)) {
vm.listForGrid.push(vm.userComplementaryList[i]);
}
else {
vm.listForDropDown.push(vm.userComplementaryList[i]);
}
}
}
})();
vm.listForGrid
はOKですが、vm.listForDropDown
値が同じ値で一度、私がしなければならないbreak
ループ、より多くのものがあります。 私はこれをし。
重複値は
ありがとう両方の配列にlistIdと許可を得て、同じ値です!
'break'を使用してソーターバージョンです。 –
コードをplunkrに置く –