for-of 循​​环中的 Javascript 引用

标签 javascript ecmascript-6

使用常规的 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/

相关文章:

javascript - 如何在JQuery中获取鼠标事件?

javascript - 使用 Node.js 需要与 ES6 导入/导出

javascript - ES6 使用命名空间动态导入?

Javascript 使用正则表达式匹配组替换 HTML 标签

javascript - 错误 NG8001 : 'router-outlet' is not a known element

javascript - FluentUI 详细信息列表与组 - 有没有办法防止组行被选择

javascript - 更新切片中的状态,将对象作为有效负载

javascript - 不变违规 : "main" has not been registered

javascript - 我如何更改此代码,使其从白色>绿色>黑色?

Javascript - 任何类型的剩余运算符可以跳过未定义的属性?