在我的班级中我宣布了一个数组
myUsers = new Array();
我想添加用户名的位置,唯一。 所以我想我会检查ArrayLenght是否为0,如果是,则添加一个User。 哪个工作正常。 如果要添加的用户名(存在于数组中),则应将其删除。 但是这样, 如果我添加一个用户,控制台会显示[" User1"] 如果我尝试添加另一个(另一个User2),控制台会说[" User1",为空] 不能落后于......
isChecked(e) {
var usersArray = this.myUsers;
console.log(usersArray.length);
if(this.myUsers.length == 0) {
console.log("is 0");
this.myUsers.push(e);
} else {
console.log("is not 0");
for (var i= 0; i < this.myUsers.length; i++) {
if (this.myUsers[i] == e) {
console.log("is in array");
delete this.myUsers[i];
} else {
this.myUsers.push(e);
}
}
}
}
答案 0 :(得分:0)
将delete this.myUsers[i];
替换为this.myUsers.splice(i, 1);
答案 1 :(得分:0)
您不想删除该值。这只会清除价值。你想要的是截断数组。为此,请使用splice()
功能:
this.myUsers.splice(i, 1);
第一个参数是开始删除的索引。第二个是删除多少个值(在本例中为1)。它改变了实际的数组,因此无需将其分配回去或任何东西。