向其添加迭代时如何让其进入块?
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('');
想象一下:
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('');