我希望能够从数组中删除一个对象,而无需循环所有对象数组以查看当前数组元素是否具有我要删除的项目的 ID。
javascript:
function CBooks() {
this.BooksArray = [];
this.AddBook = function(divID, sContents) {
this.BooksArray.push(new CBook());
pos = this.BooksArray.length - 1;
this.BooksArray[pos].ArrayID = pos;
this.BooksArray[pos].DivID = divID;
this.BooksArray[pos].Contents = sContents;
}
this.DelBook = function(divID) {
this.BooksArray.splice(...);
}
}
function CBook() {
this.ArrayID = 0;
this.DivID = "";
this.Contents = "";
}
我像这样初始化对象:
var oBooks = new CBooks();
我添加了一本这样的新书:
oBooks.AddBook("divBook1", "blahblahblah");
//Creation of the div here
oBooks.AddBook("divBook2", "blehblehbleh");
//Creation of the div here
现在用户可以单击显示每本书的 div 中的 X 按钮,以便他可以删除该书。所以 X 按钮包含:
onclick=oBooks.DelBook(this.id);
现在显然在DelBook(divID)函数中,我可以遍历BooksArray的长度并查看每个元素是否 divID 等于参数并在该点拼接,但我想避免循环。
有什么办法吗?
提前致谢