遍历嵌套的Javascript对象
我有一个javascript对象,比如遍历嵌套的Javascript对象,javascript,Javascript,我有一个javascript对象,比如 { "Date":{"0":"30-April-2018","1":"27-April-2018","2":"26-April-2018"}, "Open Price":{"0":15.75,"1":16.8,"2":17.5}, "High Price":{"0":15.85,"1":17.0,"2":17.5}, "Low Price":{"0":14.65,"1":15.6,"2":16.35} } 我希望遍历所有外部键(如Date、Open Pr
{
"Date":{"0":"30-April-2018","1":"27-April-2018","2":"26-April-2018"},
"Open Price":{"0":15.75,"1":16.8,"2":17.5},
"High Price":{"0":15.85,"1":17.0,"2":17.5},
"Low Price":{"0":14.65,"1":15.6,"2":16.35}
}
我希望遍历所有外部键(如Date、Open Price)来创建表头,然后遍历内部元素来创建行。我已经试过了,但它所做的是迭代每个值,甚至日期也被迭代为D,a,t,e。是否可能,或者是否有其他方法可以从javascript对象生成表。您可以使用object.keys获取键。这将返回所有标题
可以使用Object.values获取所有值,使用reduce汇总数据
让obj={Date:{0:30-April-2018,1:27-April-2018,2:26-April-2018},开盘价:{0:15.75,1:16.8,2:17.5},高价:{0:15.85,1:17.0,2:17.5},低价:{0:14.65,1:15.6,2:16.35}
让headers=Object.keysobj;
让content=Object.valuesObject.valuesobj.reducec,v=>{
Object.entriesv.map[i,o]=>{
c[i]=c[i]| |[];
c[i].普索;
};
返回c;
}, {};
console.logheaders;
//内容的每个数组元素将在表上显示一行
//将内容循环为
content.forEacho=>console.logo 您可以使用Object.keys获取关键点。这将返回所有标题
可以使用Object.values获取所有值,使用reduce汇总数据
让obj={Date:{0:30-April-2018,1:27-April-2018,2:26-April-2018},开盘价:{0:15.75,1:16.8,2:17.5},高价:{0:15.85,1:17.0,2:17.5},低价:{0:14.65,1:15.6,2:16.35}
让headers=Object.keysobj;
让content=Object.valuesObject.valuesobj.reducec,v=>{
Object.entriesv.map[i,o]=>{
c[i]=c[i]| |[];
c[i].普索;
};
返回c;
}, {};
console.logheaders;
//内容的每个数组元素将在表上显示一行
//将内容循环为
content.forEacho=>console.logo 你可以试试下面的
var obj={
日期:{0:30-April-2018,1:27-April-2018,2:26-April-2018},
开盘价:{0:15.75,1:16.8,2:17.5},
高价:{0:15.85,1:17.0,2:17.5},
低价:{0:14.65,1:15.6,2:16.35}
};
var headers=Object.keysobj;//获取标题行
变量行=[];//这将是数据的收集
//获取值并对其进行迭代
Object.valuesobj.forEachitem=>{
//迭代对象中的每个值并将其推入数组
Object.valuesitem.forEachval,索引=>{
行[索引]=行[索引]| |[];
行[index].pushval;
};
};
console.logheaders;
console.logrows 你可以试试下面的
var obj={
日期:{0:30-April-2018,1:27-April-2018,2:26-April-2018},
开盘价:{0:15.75,1:16.8,2:17.5},
高价:{0:15.85,1:17.0,2:17.5},
低价:{0:14.65,1:15.6,2:16.35}
};
var headers=Object.keysobj;//获取标题行
变量行=[];//这将是数据的收集
//获取值并对其进行迭代
Object.valuesobj.forEachitem=>{
//迭代对象中的每个值并将其推入数组
Object.valuesitem.forEachval,索引=>{
行[索引]=行[索引]| |[];
行[index].pushval;
};
};
console.logheaders;
console.logrows;我已经尝试过这个答案,但它所做的是迭代每个值,甚至日期也被迭代为D,a,t,e。你做错了。。。显示您所做的我将javascript对象按原样传递给函数,但每个对象都给我相同的输出。对。。。这句话看起来不像javascript,听起来像是对某事的模糊描述。。。StackOverflow不是一个免费的代码编写服务,它希望您能够这样做。请更新您的问题,以显示您已经尝试过的内容,显示您在a中面临的具体问题。我已经尝试过这个答案,但它所做的是迭代每个值,甚至日期也迭代为D、a、t、e。你做错了。。。显示您所做的我将javascript对象按原样传递给函数,但每个对象都给我相同的输出。对。。。这句话看起来不像javascript,听起来像是对某事的模糊描述。。。StackOverflow不是一个免费的代码编写服务,它希望您能够这样做。请更新您的问题,以显示您已经尝试过的内容,并显示您在某个问题中面临的具体问题。