在我的后端,我发送了一个data.ent
JSON,它有一个嵌套数组,如图所示:
如何迭代此结果?我试过了:
$.each(data.ent, function (index, value) {
console.log(value.modeloMarcaProducto);
}
但是得到undefined
,我想我在这里错过了一些东西,但又是什么?哪个是迭代trhough data.ent
的正确方法?有什么帮助吗?
答案 0 :(得分:1)
看起来你有一个数组,其中数组中的每个元素本身就是一个对象数组。如果这就是你所拥有的,那么你必须迭代两个级别的数组,包括顶级数组和每个嵌套数组,并且内部迭代将从内部数组获取每个对象,然后您可以引用您的属性像这样:
$.each(data.ent, function (index, value) {
$.each(value, function (i, v) {
console.log(v.modeloMarcaProducto);
}
}
答案 1 :(得分:0)
在你的回调中,value
是一个对象数组(它似乎总是包含一个只包含一个对象的数组),所以你可以引用value[0][0]
。
$.each(data.ent, function (index, value) {
console.log(value[0][0].modeloMarcaProducto);
}
或者,您必须递归
var vals = [];
(function recurseKeyValue( obj, key ){
for( all in obj )
{
if( all == key ){
console.log(obj[all]);
vals.push(obj[all]);
continue;
}
if( typeof obj[all] == "object" && obj[all]!= null ){
recurseKeyValue( obj[all], key );
}
}
})(data.ent,modeloMarcaProducto)