let library = []; //this stores each object
每个对象都有一个名为"id"的属性,其中存储了一个数字,这表示对象在标准库数组中的索引。基本上,当一个对象从库中删除时,我想获得数组中所有在被删除对象之后的对象,并从id属性中减去1。
function updateId(index) {
for (let i = index; i <= library.length; i++) {
library[i].id - 1;
}
}
到目前为止,我有这个函数,其中参数index是对象在数组中被删除的位置。我得到一个引用错误,最后一行的代码不是i <= library.length
,而是i < library.length
。
当前这行说的是"继续这个for
循环,只要i
小于或等于长度"。…但请记住,i
(即。索引)是从零开始的,而长度则不是。这意味着你可以循环越过。
注意,这只是解决这个问题的众多方法之一!你就快成功了。你的代码需要一些东西:
- 要访问函数内部的'library',你应该将它传递给函数。函数应该只操作变量,他们收到了作为参数。
- 你的for循环应该继续,如果i小于等于长度
- 如果你改变了函数中的'library',你需要返回它,并覆盖原来的。
function updateId(library, startingAtIndex) {
for (let i = startingAtIndex; i < library.length; i++) {
library[i].id -= 1;
}
return library
}
things = [{name:'a', id:1},{name:'c', id:3},{name:'d', id:4}]
things = updateId(things, 1)
console.log(things)