function stringifyObj(parmObj){
s="";
Object.getOwnPropertyNames(parmObj).forEach
(
function (val, idx, array) {
s+=val + ' -> ' + parmObj[val]+"\n";
}
)
return s;
}
var arrayOfObjects = [
{ name: 'Edward', value: 21 },
{ name: 'Sharpe', value: 37 }
];
console.log(
arrayOfObjects.forEach(function(parmArrItem)
{
const p=stringifyObj(parmArrItem);
console.log(p);
}
));

在下面的代码中,2个对象显示正常,但之后我在运行结束时显示undefined
。 undefined
来自哪里?感谢。
答案 0 :(得分:7)
arrayOfObjects.forEach
returns nothing.
So, when you use console.log()
for a void function that's you received undefined.
forEach方法导致只为数组中的每个项执行回调提供的函数。
换句话说,console
打印评估 表达式的结果。
console.log()
未定义,因为您的函数或表达式没有显式返回。
function stringifyObj(parmObj){
s="";
Object.getOwnPropertyNames(parmObj).forEach
(
function (val, idx, array) {
s+=val + ' -> ' + parmObj[val]+"\n";
}
)
return s;
}
var arrayOfObjects = [
{ name: 'Edward', value: 21 },
{ name: 'Sharpe', value: 37 }
];
arrayOfObjects.forEach(function(parmArrItem)
{
const p=stringifyObj(parmArrItem);
console.log(p);
}
);