Как проверить, является ли элемент ответа JSON массивом?
Я получаю следующий ответ JSON
{
"timetables":[
{"id":87,"content":"B","language":"English","code":"en"},
{"id":87,"content":"a","language":"Castellano","code":"es"}],
"id":6,
"address":"C/Maestro José"
}
Я хотел бы получить следующую функциональность псевдокода
for(var i in json) {
if(json[i] is Array) {
// Iterate the array and do stuff
} else {
// Do another thing
}
}
Любая идея?
Ответы
Ответ 1
Существуют и другие методы, но, насколько мне известно, это самый надежный способ:
function isArray(what) {
return Object.prototype.toString.call(what) === '[object Array]';
}
Итак, чтобы применить его к вашему коду:
for(var i in json) {
if(isArray(json[i])) {
// Iterate the array and do stuff
} else {
// Do another thing
}
}
Ответ 2
function isArray(ob) {
return ob.constructor === Array;
}
Ответ 3
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/isArray
if(Array.isArray(json[i])){
// true
...
}