>想象:
const arr = ['a','b','c'];
let num;
const incr = arr.map((el, i) => {
num += el;
}
// num is undefined in incr
如何在函数内部获取num
incr
以便它可以在每个循环中自行递增?
尝试将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('');