向其添加迭代时如何让其进入块?

How to get let inside a block when adding iterations to it?

想象一下:

const arr = ['a','b','c'];
let num;
const incr = arr.map((el, i) => { 
 num += el; 
}
// num is undefined in incr

如何在 incr 函数中获取 num 以便它可以在每个循环中自增?

尝试将 num 放入 incr 不会导致正确的增量,因为它会在每个循环中被覆盖。

我可以改用 var 吗?

您没有初始化 num,因此它的值为 undefined

const arr = ['a','b','c'];
let num = '';
arr.forEach((el, i) => { 
 num += el; 
});

这将使您 'abc' 达到 num

然而,积累价值的成语更适合.reduce:

const arr = ['a','b','c'];
const num = arr.reduce((acc, i) => acc + i);

更好的是,您在这里所做的,即连接数组以形成字符串,由 .join:

提供
const arr = ['a','b','c'];
const num = arr.join('');