jQuery公式解析器?

jQuery公式解析器?,jquery,parsing,pivot-table,Jquery,Parsing,Pivot Table,我正在尝试用jQuery构建一个pivot表javascript应用程序,我想让用户定义自己的计算字段(就像在Excel上看到的一样!) 因此,如果f1、f2、f3是表的列,则用户可以将自定义字段定义为 c1=(f1+f2)/f3 只需键入(就像我可以使用Excel那样) 我想我需要一个解析器,以确保: f1、f2、f3是有效的表字段(而f4不是) 没有无效的符号 有什么建议(随时可用的插件、示例等?) 谢谢您可以在一定程度上使用javascript的eval()函数。你只需要用它们的值来替

我正在尝试用jQuery构建一个pivot表javascript应用程序,我想让用户定义自己的计算字段(就像在Excel上看到的一样!)

因此,如果f1、f2、f3是表的列,则用户可以将自定义字段定义为 c1=(f1+f2)/f3 只需键入(就像我可以使用Excel那样)

我想我需要一个解析器,以确保:

  • f1、f2、f3是有效的表字段(而f4不是)
  • 没有无效的符号
有什么建议(随时可用的插件、示例等?)


谢谢

您可以在一定程度上使用javascript的
eval()
函数。你只需要用它们的值来替换变量,这很容易

eval("f1 + f2 / f3".replace("f1","6").replace("f2","8").replace("f3","4"));
产出:

  8

您可以在一定程度上使用javascript的
eval()
函数。你只需要用它们的值来替换变量,这很容易

eval("f1 + f2 / f3".replace("f1","6").replace("f2","8").replace("f3","4"));
产出:

  8

从下面的代码开始:

添加如下内容:

    if(e.length >= 2 && e[0] == 'f') {
        i = "0123456789".indexOf(e[1]);
        if(i >= 0) {
            e.splice(0,2);
            return [_.get_var(i), , , 0];
        }
    }
之后:

p.v = function(e){
    var i, j, l, _ = this;
然后您可以设置变量并如下使用:(仅支持
f0
f9
):

请参见下面的示例:


到小提琴底部弹奏。

从下面的代码开始:

添加如下内容:

    if(e.length >= 2 && e[0] == 'f') {
        i = "0123456789".indexOf(e[1]);
        if(i >= 0) {
            e.splice(0,2);
            return [_.get_var(i), , , 0];
        }
    }
之后:

p.v = function(e){
    var i, j, l, _ = this;
然后您可以设置变量并如下使用:(仅支持
f0
f9
):

请参见下面的示例:


转到小提琴的底部玩它。

只需使用Javascript对象在第一次键入时设计表的列即可。然后,您只需查询对象中的列,如果该值未定义,则该列不存在。只需使用Javascript对象在第一次键入时设计表中的列即可。然后,您可以只查询对象中的列,如果该值未定义,则该列不存在。