.forEach()Javascript函数返回一个数组?
一般来说,'forEach'不会返回任何数组,因为'map'返回一个。但是,在我的情况下,它返回一个。下面是我的代码。我有点困惑。任何帮助将不胜感激。.forEach()Javascript函数返回一个数组?
//Code Snippet //
var arr = [1, 3, 2];
var arr_temp = [];
arr.forEach(function (i) {
return arr_temp.push(i + i);
});
console.log(arr_temp);
我得到的输出: [2,6,4]
它不返回任何东西。您可以检查通过注销forEach
调用的结果:
var arr = [1, 3, 2];
var arr_temp = [];
console.log(arr.forEach(function (i) {
return arr_temp.push(i + i);
})); // undefined
console.log(arr_temp); // 2, 6, 4
@Gothodo但它正在返回arr_temp中的更新值吗? –
@mohanbabu编号它只是修改'arr_temp'数组。 –
@mohanbabu:不,它不返回任何东西。 **您**正在通过执行'arr_temp.push(i + i)'将值添加到'arr_temp'。该字面意思是“将'i + i'添加到由'arr_temp''引用的数组中。 –
它不返回任何东西,你只是修改它里面阵列 – charlietfl
你是推到了'arr_temp'然后' console.log(arr_temp)'它。 'return'实际上并没有做任何事情。 –
此代码通过将这些值推送到您的临时数组来描述您所获得的输出。什么是预期的输出? –