Этот вызов функции parsePre останавливается после первого элемента в массиве [1, "PHYS112", "PHYS122"]. Он не переходит к следующему элементу в массив. Мне было интересно, есть ли что-то, что остановит цикл for-loop от первого вызова?Трудности синтаксического анализа массива
var stuff = {
"subject":"PHYS",
"catalog_number":"375",
"title":"Stars",
"prerequisites":"Prereq: PHYS 112 or 122 and two of PHYS 234, 241, 242, 256, 258\/358, 263, 275",
"prerequisites_parsed":[
[ 1, "PHYS112", "PHYS122" ],[ 2,"PHYS234","PHYS241","PHYS242","PHYS256",
[ 1, "PHYS258", "PHYS358"],
"PHYS263", "PHYS275"]]
};
var pr = stuff.prerequisites_parsed;
var parsePre = function (pre){
console.log(pre);
console.log(pre.length);
for(i = 0; i < pre.length; i++){
console.log(i);
if(typeof pre[i] === 'number'){
console.log(pre[i] + " of: ");
}
else if(typeof pre[i] === 'string'){
console.log(pre[i] + ", ");
}
else {
console.log("WE SHOULD RECURSE");
parsePre(pre[i]);
}
}
}
parsePre(pr);
Использование функции рамки '«использовать строгий»,' лучше, чтобы вы случайно не сломать, не -строчный совместимый сторонний код - * по крайней мере на данный момент * – jdphenix