2
JSONファイルをループして値を取得し、新しい配列にプッシュする関数があります。次のようにノードJS未定義変数
は、私は、関数の外の配列を宣言している次のように
はvar output = [];
function get_json(jsonObj) {
console.log("Out put => " + output);
for (var x in jsonObj) {
if (typeof (jsonObj[x]) == 'object') {
get_json(jsonObj[x]);
} else {
output.push({
key: x,
value: jsonObj[x]
});
//console.log(output);
}
}
return output;
}
上記の関数が呼び出され、JSONデータに渡されます。配列を返すことになっている
var result = get_json(jsonObj);
値、キー、および値で構成されます。しかし、関数にデータをプッシュすると、出力変数が定義されていないので配列を作成できないため、失敗につながります。 どのように配列を宣言できますか?それを宣言するのに最適なポジションは何ですか?
私のために正常に動作するようです。おそらくもっとコードがあれば、コード全体を表示することができます。また、関数の外部に配列を宣言すると、グローバルになるので、関数が呼び出されるたびに、新しい項目は既存の配列にプッシュされます。 – David
出力配列に何か不具合があります。 –
@Davidオブジェクトのプロパティを渡すときにのみ問題が発生します.OPはネストした 'get_json'呼び出しの結果を処理していないようです。 – James