0

highcharts のtooltip.pointFormatでは、JavaScript でカプセル化された変数の例を確認できます。'blah {series.name} blah {point.y}''blah '+series.name+' blah '+point.y

私が構築しているjQueryプラグインで同様の機能を作りたいです。これを行う標準的な方法はありますか?

カプセル化された可能性のあるすべての変数をチェックすることを考えましたが、それはそれほどきちんとしたものではないでしょうか?

4

1 に答える 1

1

私が知っている標準的な方法はありませんが、regex + reduce は良い組み合わせのようです:

function format(str, obj) {
  return str.replace(/\{([\w.]+)\}/g, function(_,key) {
    return key.split('.').reduce(function(a,b){ return a[b]; },obj);
  });
}

var obj = { series: { name:'myseries', id:40 }, point: { x:1, y:2 } };
var str = 'blah {series.name} blah {point.y}';

console.log(format(str, obj)); //=> blah myseries blah 2
于 2013-06-17T07:42:16.810 に答える