使用常规的 for 循环,我可以做类似的事情:
for (let i = 0; i < objects.length; i++) {
delete objects[i];
}
常规的 for-of 循环是不可能的
for (let o of objects) {
delete o;
}
那会产生这样的错误
SyntaxError: Deleting local variable in strict mode.
这是预期的,o
是一个副本。那么,有没有办法将o
初始化为引用呢?例如,这是在 C++11 中的实现方式:
for (auto &o : objects) {
// o is a reference to an object from objects
}
最佳答案
你可以用 Array.prototype.forEach
来做到这一点方法,它将数组项连同项的索引提供给迭代器函数。
var arr = [1, 2, 3];
arr.forEach(function(item, index) {
delete arr[index];
});
console.log(arr);
关于for-of 循环中的 Javascript 引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52163894/