使用Lodash

时间:2017-07-15 15:10:18

标签: javascript angularjs arrays json lodash

样本最终输出

{
  "triggers": [{
    "all": [{
        "any": [{
               "equation": {
                  "equation array of object"
               }
            },
            {
             "equation": {
              "equation array of object"
             }
        }],
        "all": [{
            "equation": {
              "equation array of object"
           }
        }]
    }]
 }]
}

使用下面的函数

创建的数组形成了这个等式

第1部分:任何一个等式的样本输出

   equation: {
      "equation array of object"
    }

上述等式等同于下面形成的等式

    this.numberEquation.push({
      resourceLeft: this.model1,
      arthop: this.model2,
      resourceCenter: this.model3,
      logicalop: this.model4,
      resourceRight: this.model5,
    }); 

第2部分:对象数组的示例输出

     "any": [{
               "equation": {
                  "equation array of object"
               }
            },
            {
             "equation": {
              "equation array of object"
             }
        }],

这里我使用了以下格式来创建它。

有没有一种方法可以使用循环动态实现,而不是使用数组的[0]和[1]表示法。

      this.wholeNumberEquation.push({
        any: [{
          number_equation: this.numberEquation[0],
            },
          {
          number_equation: this.numberEquation[1],
          },
        ],
      });

这里是从等式3位置

生成的等式3

第3部分:样本输出

        "all": [{
            "equation": {
              "equation array of object"
           }
        }]

这是产生上述

的等式
        this.equationthree.push({
          all: [{
            number_equation: this.numberEquation[2],
          }],
        });

最后一块是整个等式

第4部分:样本输出

 "all": [{
    "any": [{
           "equation": {
              "equation array of object"
           }
        },
        {
         "equation": {
          "equation array of object"
         }
    }],
    "all": [{
        "equation": {
          "equation array of object"
       }
    }]
}]

使用以下代码形成

      this.final = [{
          all: _.merge(this.wholeNumberEquation, this.equationthree),
        }];

最后根据所需的样本最终输出初始状态的整个输出是

 "triggers": [{
    "all": [{
      "any": [{
           "equation": {
              "equation array of object"
           }
        },
        {
         "equation": {
          "equation array of object"
         }
      }],
    "all": [{
        "equation": {
          "equation array of object"
       }
     }]
  }]
}]

第5部分:获取此功能的实际代码位于

之下
  this.finalJSON = {
   triggers: [{
      this.final, 
     }]
 }

我无法使用循环来填充JSON,如果等式更多是numberEquation中的三个等式,它将不会使用它并且将无法工作。 JSON如代码所示,它会工作。但是有更多的等式,如5个等式。我将不得不为4和5创建另一个if条件并生成JSON。然而,如果有动态的方式创建它,从使用循环的数字方程,它将是伟大的。如果你建议一个更好的方法,这将是真正的帮助。

0 个答案:

没有答案