Sha*_*_IL 1 javascript ecmascript-6
我正在学习ES6中的一些新技巧,我非常喜欢数组的for-of循环.我遇到一些麻烦的一件事是,如果我想在循环内操纵当前项的值.
例如在ES5中:
var myArr = [1,2,3];
for(var i = 0; i < myArr; i++){
myArr[i] = "moo"
}
Run Code Online (Sandbox Code Playgroud)
当在ES6中使用for-of循环时,如果我更改循环内当前项的值,则它不会反映在数组中.有没有办法做到这一点?
如果您还需要带for … of循环的数组迭代中的索引,请使用以下.entries()方法:
const myArr = [1,2,3];
for (const [i, el] of myArr.entries()) {
myArr[i] = "moo" + el;
}
Run Code Online (Sandbox Code Playgroud)
如果您只对索引感兴趣而没有值,则可以进行迭代.myArr.keys()