我想循环一个 highchart 的主题:
Highcharts.theme = {
yAxis: {
opposite: true,
lineWidth: 0, // Linie ganz rechts
},
navigation: {
buttonOptions: {
align: 'left'
}
},
rangeSelector: {
selected: 1
}
};
因此,我需要键/值对:
- yAxis.opposite/true
- yAxis.lineWidth/0
- navigation.buttonOptions.align/向左
- rangeSelector.selected/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);
如果您有更深层次的嵌套值,那么您最好使用递归函数重写它。
关于javascript - 如何循环浏览 highcharts 主题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24180761/