タイトルと同じようにしようとしているので、これを行う短い方法を考えました。しかし、それは動作しません:リストの場合はリストをループし、オブジェクトの場合はそのオブジェクトを含む新しいリストをループする
なぜこれは動作しませんか? Fiddle
タイトルと同じようにしようとしているので、これを行う短い方法を考えました。しかし、それは動作しません:リストの場合はリストをループし、オブジェクトの場合はそのオブジェクトを含む新しいリストをループする
なぜこれは動作しませんか? Fiddle
Array.isArray()
はここに便利です。例を書くとき
var json = '{"prop": "value"}';
var parsedJson = JSON.parse(json);
var myArray = Array.isArray(parsedJson) ? parsedJson : [parsedJson];
myArray.forEach(function(item) {
console.log('looped');
});
私はこの解決策を知っています。なぜ私は働かないのだろうか不思議です。とにかくありがとう。 –
解決策は、三項演算子の後ろに括弧がない場合は追加し、JSON:https://jsfiddle.net/3ds8xf9hを修正すれば動作します。解析されたJSONが配列であるかどうかを確認するのは良い考えではありません。 'forEach'関数があるかどうかを調べます。 – Timo
ああ、うん、急ぎました。 –
なぜそれは動作しないと決めましたか?それは予期しているように 'Looped'を警告します – RomanPerekhrest
明らかにそれは単なる括弧の誤植でした。閉会に投票しました。 –