Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取嵌套对象/数组JavaScript的值_Javascript_Arrays_Object - Fatal编程技术网

获取嵌套对象/数组JavaScript的值

获取嵌套对象/数组JavaScript的值,javascript,arrays,object,Javascript,Arrays,Object,如何获取此嵌套对象数组中的所有值: { "report": { "firstSection": { "totalIncome": 9650000, "category": null, "mustPay": null, "tax": null, "bef": null, "message": "Los ingresos excede

如何获取此嵌套对象数组中的所有值:

{
    "report": {
        "firstSection": {
            "totalIncome": 9650000,
            "category": null,
            "mustPay": null,
            "tax": null,
            "bef": null,
            "message": "Los ingresos exceden el monto máximo para la modalidad monotributo"
        },
        "secondSection": {
            "subTotals": {
                "intTotal": 6295.166666666666,
                "ordTotal": 3884679.201041667
            },
            "unitaryProductionCost": 247.55291005291008,
            "unitaryInfo": {
                "unitarySalesCost": 16338.425925925927,
                "unitarySalesPrice": 23536.585365853658
            },
            "bankDebts": 0,
            "monthlySimpleDepreciation": 173333.33333333334
        },
    }
};
基本上我想要一个这样的数组,只包含以下值:

{
    "report": [
        9650000,
        null,
        null,
        null,
        null,
        "Los ingresos exceden el monto máximo para la modalidad monotributo",
        6295.166666666666,
        3884679.201041667,
        247.55291005291008,
        16338.425925925927,
        23536.585365853658,
        0,
        173333.33333333334,
    ]
}

我有这个回复。如果有帮助的话,谢谢

此递归方法用于获取当前对象的值。值是使用迭代的。如果该值是一个对象(而不是
null
),它也会使用该方法进行迭代。实际值通过以下方式组合到单个数组:

const obj={“报告”:{“第一节”:{“总收入”:9650000,“类别”:null,“mustPay”:null,“税”:null,“bef”:null,“信息”:“Los Ingreos Exceeden el monto máximo para la modalidad Monotibuto”,第二节:{“小计”:{“intTotal”:6295.166666666666666666,“ordTotal”:3884679.201041667},“unitaryProductionCost”:247.55291005291008,“unitaryInfo”:{“统一销售成本”:16338.425925925927,“统一销售价格”:23536.585365853658},“银行债务”:0,“月简单折旧”:173333.3333333 4}};
常量getObjectValues=(obj)=>
对象值(obj).reduce((r,v)=>
r、 concat(v&&typeof v=='object'?getObjectValues(v):v)
, []);
常量结果=getObjectValues(obj);

console.log(result);
此递归方法用于获取当前对象的值。使用值进行迭代。如果值是对象(而不是
null
),则也使用方法进行迭代。实际值与以下值组合到单个数组中:

const obj={“报告”:{“第一节”:{“总收入”:9650000,“类别”:null,“mustPay”:null,“税收”:null,“bef”:null,“信息”:“Los Ingreos Exceeden el monto máximo para la modalidad Monotibuto”},“第二节”:{“小计”:{“intTotal”:6295.166666666666666666,“ordTotal”:3884679.201041667},“unitaryProductionCost”:247.55291005291008,“unitaryInfo”:unitarySalesCost:16338.425925925927,“unitarySalesPrice:23536.585365853658},“银行债务”:0,“月简单折旧”:173333.3333 4};
常量getObjectValues=(obj)=>
对象值(obj).reduce((r,v)=>
r、 concat(v&&typeof v=='object'?getObjectValues(v):v)
, []);
常量结果=getObjectValues(obj);

console.log(结果);
这是工作代码

var数据={
“报告”:{
“第一节”:{
“总收入”:9650000,
“类别”:空,
“mustPay”:空,
“税”:空,
“bef”:空,
“信息”:“蒙托·马西莫·帕拉·莫达利达·莫托托除外”
},
“第二节”:{
“小计”:{
“总计”:6295.166666,
“订单总计”:3884679.201041667
},
“单位生产成本”:247.55291005291008,
“unitaryInfo”:{
“单位销售成本”:16338.425925925927,
“统一售价”:23536.585365853658
},
“银行债务”:0,
“月度简单折旧”:173333.33334
},
}
};
var ret={“报告”:[]}
函数getleafs(obj){
for(obj中的var键){
if(对象[键]&&typeof对象[键]=“对象”){
getleafs(obj[key]);
}否则{
ret[“报告”]。推送(obj[键]);
}
}
}
getleafs(数据);

console.log(ret);
这是工作代码

var数据={
“报告”:{
“第一节”:{
“总收入”:9650000,
“类别”:空,
“mustPay”:空,
“税”:空,
“bef”:空,
“信息”:“蒙托·马西莫·帕拉·莫达利达·莫托托除外”
},
“第二节”:{
“小计”:{
“总计”:6295.166666,
“订单总计”:3884679.201041667
},
“单位生产成本”:247.55291005291008,
“unitaryInfo”:{
“单位销售成本”:16338.425925925927,
“统一售价”:23536.585365853658
},
“银行债务”:0,
“月度简单折旧”:173333.33334
},
}
};
var ret={“报告”:[]}
函数getleafs(obj){
for(obj中的var键){
if(对象[键]&&typeof对象[键]=“对象”){
getleafs(obj[key]);
}否则{
ret[“报告”]。推送(obj[键]);
}
}
}
getleafs(数据);

console.log(ret);
通过递归函数跟踪对象:

var obj={
“报告”:{
“第一节”:{
“总收入”:9650000,
“类别”:空,
“mustPay”:空,
“税”:空,
“bef”:空,
“信息”:“蒙托·马西莫·帕拉·莫达利达·莫托托除外”
},
“第二节”:{
“小计”:{
“总计”:6295.166666,
“订单总计”:3884679.201041667
},
“单位生产成本”:247.55291005291008,
“unitaryInfo”:{
“单位销售成本”:16338.425925925927,
“统一售价”:23536.585365853658
},
“银行债务”:0,
“月度简单折旧”:173333.33334
},
}
};
功能跟踪器(obj、arr)
{
如果(对象的类型=='object')
{
用于(输入obj)
{
if(obj[键]==null)
{
arr.push(对象[键]);
}
else if(对象的类型[键]=“对象”)
{
arr=跟踪器(obj[key],arr);
}
其他的
{
arr.push(对象[键]);
}
}
}
返回arr;
}
var report={report:[]};
报告[“报告”]=追踪者(obj,[]);

console.log(report);
通过递归函数跟踪对象:

var obj={
“报告”:{
“第一节”:{
“总收入”:9650000,
“类别”:空,
“mustPay”:空,
“税”:空,
“bef”:空,