如果是列表,则循环列表,如果是对象,则列出包含该对象的新列表

时间:2016-06-28 13:02:48

标签: javascript arrays json

我正如标题所说的那样,所以我想到了一个简短的方法。但它不会起作用:

var json = "{\"prop\": \"value\"}";

(JSON.parse(json).forEach ? JSON.parse(json) : [JSON.parse(json)]).forEach(function(item) {
    alert('Looped');
}); 

为什么要赢得这项工作? Fiddle

1 个答案:

答案 0 :(得分:0)

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');
});




Docs