我想循环一个高图的主题:
Highcharts.theme = {
yAxis: {
opposite: true,
lineWidth: 0, // Linie ganz rechts
},
navigation: {
buttonOptions: {
align: 'left'
}
},
rangeSelector: {
selected: 1
}
};
结果,我需要成对的键/值:
任何人都可以帮助以最好的方式做到这一点吗?
答案 0 :(得分:1)
您可以使用for循环遍历javascript对象。像这样的东西会遍历主题(深达三层)并将键/值放入数组中:
var myVals = [];
for (var key in Highcharts.theme) {
if (Highcharts.theme.hasOwnProperty(key)) {
var obj = Highcharts.theme[key];
for (var prop in obj) {
if (obj.hasOwnProperty(prop)) {
if (typeof obj[prop] === 'object') {
for (var prop2 in obj[prop]) {
var myKey = key + "." + prop + "." + prop2;
myVals[myKey] = obj[prop][prop2];
}
} else {
var myKey = key + "." + prop;
myVals[myKey] = obj[prop];
}
}
}
}
}
console.log(myVals);
如果您有更深层次的嵌套值,那么最好使用递归函数重写它。