我希望您能将一个对象添加到数组中,如果该对象不存在,则将其添加到数组中,如果它已经存在于数组中,则删除它。我成功地添加了第一项,但如果我在数组中添加另一个对象,则无法正常工作。我可以删除第一项。有一个错误,我不知道为什么。
以下是我的代码:
以下是我的代码:
function checkAmi(pseudo, id) {
var info = ({
pseudo: pseudo,
id: id
});
if (amisNotifies.length > 0) {
// iterate over each element in the array
for (var i = 0; i < amisNotifies.length; i++) {
console.log(angular.toJson(amisNotifies[i].pseudo));
// look for the entry with a matching `code` value
if (amisNotifies[i].pseudo === pseudo) {
amisNotifies.removeValue('pseudo', pseudo);
$("#checkAmi" + id).addClass("fa-circle-o");
$("#checkAmi" + id).removeClass("fa-check-circle-o");
} else {
amisNotifies.push(info);
$("#checkAmi" + id).removeClass("fa-circle-o");
$("#checkAmi" + id).addClass("fa-check-circle-o");
}
}
} else {
amisNotifies.push(info);
$("#checkAmi" + id).removeClass("fa-circle-o");
$("#checkAmi" + id).addClass("fa-check-circle-o");
}
}
amisNotifies
是什么?removeValue
又是什么? - TomalakremoveValue
的函数。 - Tomalaki
处删除一个项目,那么在重新进入循环时,位于i+1
的项目将移动到位置i
,因此会被跳过。你可以通过从length-1到0进行迭代来解决这个问题。 - Mike Samuel