按标题查找图表(Highcharts)

时间:2016-01-13 20:03:54

标签: javascript highcharts

我在页面上有多个图表,需要访问其中一个图表。

按标题查找图表的最简单方法是什么?在Highcharts中是否有任何内置帮助器,或者我必须使用以下内容编写自己的查找:

if( parseInt(window.localStorage.getItem("curLevel")) < this.levelNo )

2 个答案:

答案 0 :(得分:2)

使用Array.prototype.find()

function getChartByTitle(titleString) {
    var allCharts = Highcharts.charts;
    return allCharts.find(function(chart) {
        return chart.options && chart.options.title === titleString;
    });
}

注意:并非所有浏览器都支持Array.prototype.find()(如果使用它,请检查兼容性)。

目前支持的解决方案是使用Array.prototype.filter()

function getChartByTitle(titleString) {
    var allCharts = Highcharts.charts;
    var result = allCharts.filter(function(chart) {
        return chart.options && chart.options.title === titleString;
    });
    return result.length > 0 ? result[0] : undefined;
}

答案 1 :(得分:2)

由于我有lodash可用,如果没人建议为Highcharts内置任何内容,我最终会使用它:

function getChartByTitle(titleString) {
    var allCharts = Highcharts.charts,
        searchTarget = {options: {title: {text: titleString}}};

    return _.find(allCharts, searchTarget);
};