Javascript 使用数组操作和使用Lodash的对象操作动态创建大型JSON
最终输出样本Javascript 使用数组操作和使用Lodash的对象操作动态创建大型JSON,javascript,angularjs,arrays,json,lodash,Javascript,Angularjs,Arrays,Json,Lodash,最终输出样本 { "triggers": [{ "all": [{ "any": [{ "equation": { "equation array of object" } }, { "equation": { "equation array of object"
{
"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"
}
}]
"all": [{
"any": [{
"equation": {
"equation array of object"
}
},
{
"equation": {
"equation array of object"
}
}],
"all": [{
"equation": {
"equation array of object"
}
}]
}]
这是产生上述结果的方程式
this.equationthree.push({
all: [{
number_equation: this.numberEquation[2],
}],
});
最后一块是整个方程的
第4部分:样本输出
"all": [{
"equation": {
"equation array of object"
}
}]
"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,如果方程式比NumberRequation中的三个方程式更大,它就不会接受它,也不会工作。如代码所示,JSON可以工作。但是还有更多的方程,比如5方程。我必须为4和5创建另一个if条件,并生成JSON。然而,如果有一个动态的方法来创建它,从数字方程使用循环,这将是伟大的。如果你建议一个更好的方法,这将是真正的帮助 我不明白为什么你不能使用循环。错在哪里?怎么可能?我很累,但它不像需要创建的示例输出那样插入json,它需要随数字方程一起动态创建。有没有一种方法可以使用循环而不是[0]或[1]或[2]表示法来创建json