???????判斷數組內某字段的值,是否與該字段的值相同,若不相同則添加數據進入數組;
???????邏輯:通過for循環判斷是否有相同,并設定一個key,有任何一條數據相同則key被創造,因此添加數據的時候,只需要判定key值是否存在,若key值未被創造,則添加一條數據進入數組;
???????容易產生的bug:在循環內添加,不設定key,則不論數據是否具有此字段的值,都會被添加進去,且后續判斷會覆蓋前面判斷。
???????因此,最終的寫法為下(待優化,或許有更好的方法);
var arrfk ={
bankCard:vm.fk_card_no,
id:'',
bankCardName:vm.fk_card_bankname
};
var arrhk ={
bankCard:vm.hk_card_no,
cardFromXd:'Y',
id:'000000',
hk_card_no_full:vm.hk_card_no_full,
bankCardName:vm.hk_card_bankname
};
for(var i=0;i<items.length;i++){
if(vm.hk_card_no == items[i].bankCard){
var newCardtrue = true;
}
if(vm.fk_card_no == items[i].bankCard){
var newCardfalse = true;
}
}
if(!newCardfalse){
vm.items = items.concat(arrfk);
}
if(!newCardtrue){
vm.items = items.concat(arrhk);
}
if(!newCardtrue &&!newCardfalse && vm.hk_card_no != vm.fk_card_no){
vm.items = items.concat(arrfk,arrhk);
}
if(newCardtrue && newCardfalse){
vm.items = items;
}