我有一个类似于以下的数组定义:
selectedDocumentID = [];
接下来我有一个函数,当我获取ID时会用到它,另一个函数需要我将ID作为参数传递。当我点击具有ID的元素时,该ID将被传递到modifyArray中。 接下来,我使用console.log检查ID(它可以工作并且我可以获取ID)。 之后,我创建了一个包含selectedDocument数组的新数组列表。(它可以工作)。 如果ID不存在,我想将其推送到列表中,如果已存在,则从列表中删除...
modifyArray(id) {
let selectedDocumentID = [];
let id = 10;
console.log('this is: ' + id);
console.log(this.selectedDocumentID);
let list = this.selectedDocumentID;
let index = list.findIndex( x => x === id);
console.log(index);
if (index !== id) {
list.push(id);
console.log(list);
this.selectedDocumentID = list;
}
else {
list = list.slice(list.indexOf(id));
console.log(list);
this.selectedDocumentID = list;
}
}
例如,我点击文档id为2、4、5和6的文档。
我的selectedDocumentID=[2,4,5,6],而列表中也有[2,4,5,6]。
接下来,我点击id为8的文档,我的数组变成了[2,4,5,6,8],然后我又点击了id为5的文档,我的数组看起来像是[2,4,6,8]。我做错了什么?