if (currentFirstNumber != null && currentSecondNumber != null) {
var card = {
id: rank + "_" + suit,
rank: rank,
suit: suit.toString()
};
}
var exists = false;
for (i = 0; i < $scope.communityCards.length; i++) {
if (card.id == $scope.communityCards[i].id) {
exists = true;
break;
}
}
if (!exists) {
$scope.communityCards.push(card);
}
我正在尝试在卡片组中获取卡片对象,但首先我想检查它是否已经存在,因为卡片是从哈希生成的。
如果卡片不存在,则一切顺利。但是当它已经存在时我会卡住,它总是返回检查它是否存在。虽然它应该退出for循环并继续使用通过哈希生成新卡的父循环(此处不可见)。
答案 0 :(得分:0)
card_ids = $scope.communityCards[i].map(function(card){ return card.id; });
matched_cards = card_ids.filter(function(id){ return id==card.id; });
//check matched_cards.length
//if it is >0 then card is exit else not exist
if(matched_cards.length>0){
$scope.communityCards.push(card);
}
//---------------example--------------
a = [{t:1}, {t:2}, {t:3}]
c = a.map(function(e){ return e.t; })
d = c.filter(function(e){ return e==2; });
d.length