JavaScript中for of循环和普通循环的区别
假设现在有一个数组array,我们常用的for循环是以下这种
for(let i=0; i<array.length; i+){}
另外我们还可以用for of来循环数组中的value
for(let c of array){}
以前我一直认为这两种循环方式没有什么区别,都可以帮助我通过循环逐个拿到想要的value从而进行后续的循环体内部的操作,但是今天在做一个题的时候发现了它们的一个区别:
普通循环允许我们对数组中的元素进行改变,而for of循环因为只会循环出数组的value(拿不到索引),所以不能让我们对数组中的元素进行改变。
因为没有Google到相关的博客说这一点,我就尝试着用代码验证了一下自己的想法:
- 普通循环
- for of循环
可以发现for of循环在循环体里进行的操作并没有同步到数组元素上,因此我得出了上面的结论。如果结论并不正确,还请大家指正~