如何在JavaScript中正确遍历数组:forEach、for...of还是普通for循环?
大家好!我刚开始学习JavaScript,遇到了一个问题。我需要遍历数组的所有元素并对它们执行某些操作。我知道有很多方法,但我搞混了,哪种方法是正确的,什么时候该用哪种。
举个例子:我有一个数字数组 `[1, 2, 3, 4, 5]`,我想把每个元素输出到控制台。我尝试了几种方式:
1. 普通 `for` 循环:
```javascript
let arr = [1, 2, 3, 4, 5];
for (let i = 0; i < arr.length; i++) {
console.log(arr[i]);
}
```
2. `forEach` 方法:
```javascript
arr.forEach(function(item) {
console.log(item);
});
```
3. `for...of` 循环:
```javascript
for (let item of arr) {
console.log(item);
}
```
这三种方式都能工作,但我不明白它们之间的区别。什么时候该用哪种?我还听说过 `for...in`,但据说它不应该用于数组。为什么?
还有一个问题:我不只是要输出元素,而是要创建一个新数组,其中每个