なぜ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 }
];
console.log(
arrayOfObjects.forEach(function(parmArrItem)
{
const p=stringifyObj(parmArrItem);
console.log(p);
}
));
、2つのオブジェクトが細かい表示されますが、その後、私は、実行の最後に表示さundefined
を取得しています。 undefined
はどこから来たのですか?ありがとう。
方法[** 'forEach' **](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach)が使用されます。 –
's'を正しく宣言するのを忘れました。 'var'(または' let')で宣言されていない変数はすべてトップレベルのグローバルであり、常にバグです。 jshintのような静的コード解析ツールは、これらのエラーを表示して使用します。 – Tomalak
@Tomalak、ありがとう、私はこれを見落とした。 – NoChance