Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将数组插入嵌套JavaScript对象_Javascript_Arrays_Object - Fatal编程技术网

如何将数组插入嵌套JavaScript对象

如何将数组插入嵌套JavaScript对象,javascript,arrays,object,Javascript,Arrays,Object,我当前使用的对象如下所示 const data = { periods: [ { decisions: [ { bank: { name: "Team1" }, bSPositionDecisions: [ { totalInputRate: 1.0, balanceSheetPosition:

我当前使用的对象如下所示

const data = {
  periods: [
    {
      decisions: [
        {
          bank: {
            name: "Team1"
          },
          bSPositionDecisions: [
            {
              totalInputRate: 1.0,
              balanceSheetPosition: {
                name: "asset_bc_lombard_a_onsight",
                category: "LOMBARD_LOANS",
                type: "ASSET"
              }
            },
            {
              totalInputRate: 2.0,
              balanceSheetPosition: {
                name: "asset_bc_lombard_a_lt1m",
                category: "LOMBARD_LOANS",
                type: "ASSET"
              }
            }
          ]
        },
        {
          bank: {
            name: "Team2"
          },

          bSPositionDecisions: [
            {
              totalInputRate: 5.0,
              balanceSheetPosition: {
                name: "asset_bc_lombard_a_onsight",
                category: "LOMBARD_LOANS",
                type: "ASSET"
              }
            },
            {
              totalInputRate: 6.0,
              balanceSheetPosition: {
                name: "asset_bc_lombard_a_lt1m",
                category: "LOMBARD_LOANS",
                type: "ASSET"
              }
            }
          ]
        }
      ],
      settings: {
        regularCreditCBrate: 0.5,
        bSPositionSettings: [
          {
            bsPosition: {
              name: "asset_bc_lombard_a_onsight",
              category: "LOMBARD_LOANS",
              type: "ASSET"
            },
            mktTplus1GrowthPercentage: 0.5,
            atrFeatures: [
              {
                inputValues: [
                  {
                    bank: {
                      name: "Team1"
                    },
                    inputValue: 0.67
                  },
                  {
                    bank: {
                      name: "Team2"
                    },
                    inputValue: 0.23
                  }
                ],
                atrMSettings: {
                  name: "Attracting_clients_asset_side",
                  curve: {
                    name: "Attracting_clients_asset_side",
                    ccid: 7
                  },
                  wgt: 0.3
                }
              },
              {
                inputValues: [
                  {
                    bank: {
                      name: "Team1"
                    },
                    inputValue: 0.5
                  },
                  {
                    bank: {
                      name: "Team2"
                    },
                    inputValue: 0.5
                  }
                ],
                atrMSettings: {
                  name: "GDP_growth_on_loans",
                  curve: {
                    name: "BIP_growth_on_loans",
                    ccid: 8
                  },
                  wgt: 0.5
                }
              },
            ],
            chrFeatures: [
              {
                inputValues: [
                  {
                    bank: {
                      name: "Team1"
                    },
                    inputValue: 0.58
                  },
                  {
                    bank: {
                      name: "Team2"
                    },
                    inputValue: 0.68
                  }
                ],
                chrMSettings: {
                  name: "Sensitive_churning_clients_asset_side",
                  curve: {
                    name: "Sensitive_churning_clients_asset_side",
                    ccid: 1
                  },
                  min: 0.5,
                  max: 0.6,
                  wgt: 0.5
                }
              },
              {
                inputValues: [
                  {
                    bank: {
                      name: "Team1"
                    },
                    inputValue: 0.6
                  },
                  {
                    bank: {
                      name: "Team2"
                    },
                    inputValue: 0.6
                  }
                ],
                chrMSettings: {
                  name: "Service_quality_index",
                  curve: {
                    name: "Service_quality_asset_side",
                    ccid: 3
                  },
                  min: 0.5,
                  max: 0.6,
                  wgt: 0.5
                }
              }
            ],
            multiple: 0.5,
            hqlaMultiple: 0.5
          },
          {
            bsPosition: {
              name: "asset_bc_lombard_a_lt1m",
              category: "LOMBARD_LOANS",
              type: "ASSET"
            },
            mktTplus1GrowthPercentage: 0.5,
            atrFeatures: [
              {
                inputValues: [
                  {
                    bank: {
                      name: "Team1"
                    },
                    inputValue: 0.5
                  },
                  {
                    bank: {
                      name: "Team2"
                    },
                    inputValue: 0.5
                  }
                ],
                atrMSettings: {
                  name: "Attracting_clients_asset_side",
                  curve: {
                    name: "Attracting_clients_asset_side",
                    ccid: 7
                  },
                  wgt: 0.5
                }
              },
              {
                inputValues: [
                  {
                    bank: {
                      name: "Team1"
                    },
                    inputValue: 0.5
                  },
                  {
                    bank: {
                      name: "Team2"
                    },
                    inputValue: 0.5
                  }
                ],
                atrMSettings: {
                  name: "GDP_growth_on_loans",
                  curve: {
                    name: "BIP_growth_on_loans",
                    ccid: 8
                  },
                  wgt: 0.5
                }
              },           
            ],
            chrFeatures: [
              {
                inputValues: [
                  {
                    bank: {
                      name: "Team1"
                    },
                    inputValue: 0.6
                  },
                  {
                    bank: {
                      name: "Team2"
                    },
                    inputValue: 0.6
                  }
                ],
                chrMSettings: {
                  curve: {
                    name: "Sensitive_churning_clients_asset_side",
                    ccid: 1
                  },
                  min: 0.5,
                  max: 0.6,
                  wgt: 0.5
                }
              },
              {
                inputValues: [
                  {
                    bank: {
                      name: "Team1"
                    },
                    inputValue: 0.6
                  },
                  {
                    bank: {
                      name: "Team2"
                    },
                    inputValue: 0.6
                  }
                ],
                chrMSettings: {
                  name: "Service_quality_index",
                  curve: {
                    name: "Service_quality_asset_side",
                    ccid: 3
                  },
                  min: 0.5,
                  max: 0.6,
                  wgt: 0.5
                }
              }
            ],
            multiple: 0.5,
            hqlaMultiple: 0.5
          },
          {
            bsPosition: {
              name: "liability_bc_demanddeposits",
              category: "DEMAND_DEPOSITS",
              type: "LIABILITY"
            },
            mktTplus1GrowthPercentage: 0.5,
            atrFeatures: [
              {
                inputValues: [
                  {
                    bank: {
                      name: "Team1"
                    },
                    inputValue: 0.5
                  },
                  {
                      name: "Team2"
                    },
                    inputValue: 0.5
                  }
                ],
                atrMSettings: {
                  name: "Attracting_clients_asset_side",
                  curve: {
                    name: "Attracting_clients_asset_side",
                    ccid: 7
                  },
                  wgt: 0.5
                }
              },
              {
                inputValues: [
                  {
                    bank: {
                      name: "Team1"
                    },
                    inputValue: 0.5
                  },
                  {
                    bank: {
                      name: "Team2"
                    },
                    inputValue: 0.5
                  }
                ],
                atrMSettings: {
                  name: "GDP_growth_on_loans",
                  curve: {
                    name: "BIP_growth_on_loans",
                    ccid: 8
                  },
                  wgt: 0.5
                }
              }            
            ],
            chrFeatures: [
              {
                inputValues: [
                  {
                    bank: {
                      name: "Team1"
                    },
                    inputValue: 0.658
                  },
                  {
                    bank: {
                      name: "Team2"
                    },
                    inputValue: 0.987
                  }
                ],
                chrMSettings: {
                  name: "Sensitive_churning_clients_asset_side",
                  curve: {
                    name: "Sensitive_churning_clients_asset_side",
                    ccid: 1
                  },
                  min: 0.5,
                  max: 0.6,
                  wgt: 0.5
                }
              },
              {
                inputValues: [
                  {
                    bank: {
                      name: "Team1"
                    },
                    inputValue: 0.6
                  },
                  {
                    bank: {
                      name: "Team2"
                    },
                    inputValue: 0.6
                  }
                ],
                chrMSettings: {
                  name: "Service_quality_index",
                  curve: {
                    name: "Service_quality_asset_side",
                    ccid: 3
                  },
                  min: 0.5,
                  max: 0.6,
                  wgt: 0.5
                }
              }
            ],
            multiple: 0.5,
            hqlaMultiple: 0.5
          },
          {
            bsPosition: {
              name: "liability_bc_timedeposits", 
              category: "TIME_DEPOSITS",
              type: "LIABILITY"
            },
            mktTplus1GrowthPercentage: 0.5,
            atrFeatures: [
              {
                inputValues: [
                  {
                    bank: {
                      name: "Team1"
                    },
                    inputValue: 0.5
                  },
                  {
                    bank: {
                      name: "Team2"
                    },
                    inputValue: 0.5
                  }
                ],
                atrMSettings: {
                  name: "Attracting_clients_asset_side",
                  curve: {
                    name: "Attracting_clients_asset_side",
                    ccid: 7
                  },
                  wgt: 0.5
                }
              },
              {
                inputValues: [
                  {
                    bank: {
                      name: "Team1"
                    },
                    inputValue: 0.5
                  },
                  {
                    bank: {
                      name: "Team2"
                    },
                    inputValue: 0.5
                  }
                ],
                atrMSettings: {
                  name: "GDP_growth_on_loans",
                  curve: {
                    name: "BIP_growth_on_loans",
                    ccid: 8
                  },
                  wgt: 0.5
                }
              }                          
            ],
            chrFeatures: [
              {
                inputValues: [
                  {
                    bank: {
                      name: "Team1"
                    },
                    inputValue: 0.6
                  },
                  {
                    bank: {
                      name: "Team2"
                    },
                    inputValue: 0.6
                  }
                ],
                chrMSettings: {
                  name: "Sensitive_churning_clients_asset_side",
                  curve: {
                    name: "Sensitive_churning_clients_asset_side",
                    ccid: 1
                  },
                  min: 0.5,,
                  max: 0.6,
                  wgt: 0.5
                }
              },
              {
                inputValues: [
                  {
                    bank: {
                      name: "Team1"
                    },
                    inputValue: 0.6
                  },
                  {
                    bank: {
                      name: "Team2"
                    },
                    inputValue: 0.6
                  }
                ],
                chrMSettings: {
                  name: "Service_quality_index",
                  curve: {
                    name: "Service_quality_asset_side",
                    ccid: 3
                  },
                  min: 0.5,
                  max: 0.6,
                  wgt: 0.5
                }
              }
            ],
          }
        ]
    }
  ]
};
这是我目前得到的输出。映射用于创建此对象

{ banks:
  [ { name: 'Team1',
      LOMBARD_LOANS:
       [ { totalInputRate: 1,
           name: 'asset_bc_lombard_a_onsight',
           category: 'LOMBARD_LOANS' },
         { totalInputRate: 2,
           name: 'asset_bc_lombard_a_lt1m',
           category: 'LOMBARD_LOANS' } ] },
    { name: 'Team2',
      LOMBARD_LOANS:
       [ { totalInputRate: 5,
           name: 'asset_bc_lombard_a_onsight',
           category: 'LOMBARD_LOANS' },
         { totalInputRate: 6,
           name: 'asset_bc_lombard_a_lt1m',
           category: 'LOMBARD_LOANS' } ] } ] }
这是我试图用“TotalInput”和从数据对象的“设置”部分获取的数组创建的输出

{ banks:
   [ { name: 'Team2',
       LOMBARD_LOANS:
        [ { Sensitive_churning_clients_asset_side: [ 1, 0.5, 0.5, 0.6 ],
            Service_quality_index: [ 3, 0.5, 0.5, 0.6 ],
            Attracting_clients_asset_side: [ 7, 0.3 ],
            GDP_growth_on_loans: [ 8, 0.5 ],
             totalInputRate: 1,
            name: 'asset_bc_lombard_a_onsight',
            category: 'LOMBARD_LOANS' },
          { Sensitive_churning_clients_asset_side: [ 1, 0.5, 0.5, 0.6 ],
            Service_quality_index: [ 3, 0.5, 0.5, 0.6 ],
            Attracting_clients_asset_side: [ 7, 0.5 ],
            GDP_growth_on_loans: [ 8, 0.5 ],
            totalInputRate: 2,
            name: 'asset_bc_lombard_a_lt1m',
            category: 'LOMBARD_LOANS' } ]

        },
     { name: 'Team1',
       LOMBARD_LOANS:
        [ { Sensitive_churning_clients_asset_side: [ 1, 0.5, 0.5, 0.6 ],
            Service_quality_index: [ 3, 0.5, 0.5, 0.6 ],
            Attracting_clients_asset_side: [ 7, 0.3 ],
            GDP_growth_on_loans: [ 8, 0.5 ], 
            totalInputRate: 5,
            name: 'asset_bc_lombard_a_onsight',  
            category: 'LOMBARD_LOANS' },
          { Sensitive_churning_clients_asset_side: [ 1, 0.5, 0.5, 0.6 ],
            Service_quality_index: [ 3, 0.5, 0.5, 0.6 ],
            Attracting_clients_asset_side: [ 7, 0.5 ],
            GDP_growth_on_loans: [ 8, 0.5 ],   
            totalInputRate: 6,          
            name: 'asset_bc_lombard_a_lt1m',  
            category: 'LOMBARD_LOANS' } ],

        } ],}


我没有使用映射来创建这个结构,而是用于循环。请让我知道,如果你想看到该代码以及

我们可以使用map,filter-reduce来实现这一点,这有点棘手,但同样的原理也适用:

const data={periods:[{bank:{name:“Team1”},bSPositionDecisions:[{TotalInput:1.0,positionValue:12,balanceSheetPosition:{name:“asset\u bc\u lombard\u onsight”,类别:“lombard\u贷款”,类型:“asset”},{TotalInput:2.0,positionValue:10,balanceSheetPosition:{name:“asset_bc_lombard_a_lt1m”,类别:“lombard_贷款”,类型:“asset”}},{bank:{name:“Team2”},bSPositionDecisions:[{totalInputRate:5.0,positionValue:12,balanceSheetPosition:{name:“asset_bc lombard_a_onsight”,类别:“lombard_贷款”,类型:“asset”},{TotalInputState:6.0,positionValue:10,balanceSheetPosition:{name:“asset_bc_lombard_a_lt1m”,类别:“lombard_LOANS”,类型:“asset”}]}],设置:{RegularCreditcState:0.5,bSPositionSettings:[{bsPosition name:“asset_bc_lombard_a_onsight”,类别:“lombard_lombard_lombard_Londs Lons”,类型:“asset”},mktTplus1GrowthPercentage:0.5,atrMSettings:[{inputValues:[{bank:{name:“Team1”},inputValue:0.67},{bank:{name:“Team2”},inputValue:0.23}],atrMSettings:{name:“吸引客户/资产侧”,曲线:{name:“吸引客户/资产侧”,ccid:7},wgt:0.3},{inputValues:[{bank:{name:“Team1”},输入值:0.5},{bank:{name:“Team2”},输入值:0.5}],atrMSettings:{name:“GDP增长贷款”,曲线:{name:“BIP增长贷款”,ccid:8},wgt:0.5},],CHR特征:[{inputValues:[{bank:{name:“Team1”},输入值:0.58},{bank:{name:“Team2”},inputValue:0.68}],chrMSettings:{name:“敏感客户”资产侧,曲线:{name:“敏感客户”资产侧,ccid:1},min:0.5,max:0.6,wgt:0.5},{inputValue:[{银行:{名称:“Team1”},inputValue:0.6},{银行:{名称:“Team2”},输入值:0.6}],chrMSettings:{name:“服务质量”指数,曲线:{name:“服务质量”资产侧,ccid:3},min:0.5,max:0.6,wgt:0.5}],倍数:0.5,hqlaMultiple:0.5},{bsPosition name:“资产”bc lombard\u a\u lt1m,类别:“lombard\u贷款”,类型:“资产”},mktTplus1GrowthPercentage:0.5,atrMSettings:[{inputValues:[{bank:{name:“Team1”},inputValue:0.5},{bank:{name:“Team2”},inputValue:0.5}],atrMSettings:{name:“吸引客户/资产侧”,曲线:{name:“吸引客户/资产侧”,ccid:7},wgt:0.5},{inputValues:[{bank:{name:“Team1”},输入值:0.5},{bank:{name:“Team2”},输入值:0.5}],atrMSettings:{name:“GDP增长贷款”,曲线:{name:“BIP增长贷款”,ccid:8},wgt:0.5},],CHR特征:[{inputValues:[{bank:{name:“Team1”},输入值:0.6},{bank:{name:“Team2”},inputValue:0.6}],chrMSettings:{curve:{name:{name:“敏感客户{u资产},ccid:1},min:0.5,max:0.6,wgt:0.5},{inputValue:[{bank:{name:“Team1”},inputValue:0.6},{bank:{name:“Team2”},inputValue:0.6}],chrMSettings:{name:“服务质量指数”,曲线:{名称:“服务质量资产侧”,ccid:3},最小值:0.5,最大值:0.6,wgt:0.5}],倍数:0.5,hqlaMultiple:0.5},{位置:{名称:“负债”bc\U需求存款,类别:“活期存款”,类型:“负债”},MKTPLUS1增长百分比:0.5,ATR特征:[{inputValues:[{bank:{name:{Team1},inputValues:0.5},{name:{Team2},{inputValues:0.5}],atrMSettings:{name:{吸引客户\资产\侧],曲线:{name:{吸引客户\资产\侧],ccid:7},wgt 0.5},{inputValues:[{bank:{name:{Team1},inputValues:0.5},{银行:{name:{Team2},输入值:0.5}],atrMSettings:{name:{GDP:{u-growth}贷款曲线:{name:{BIP:{u-growth}贷款,ccid:8},wgt:0.5}],chr特征:[{inputValue:{银行:{name:{Team1},输入值:0.658},{银行:{name:{Team2},输入值:0.987}],chrMSettings:{name:“敏感客户”资产侧,曲线:{name:“敏感客户”资产侧,ccid:1},min:0.5,max:0.6,wgt:0.5},{inputValues:[{bank:{name:'Team1},inputValue:0.6},{bank:{name:'Team2},inputValue:0.6}],chrMSettings:{name:}服务质量指数,曲线:{名称:“服务质量资产侧”,ccid:3},最小值:0.5,最大值:0.6,wgt:0.5}],倍数:0.5,hqlaMultiple:0.5},{位置:{名称:“负债”bc\U定期存款,类别:“定期存款”,类型:“负债”},MKTPLUS1增长百分比:0.5,特征:[{inputValues:[{bank:{name:{Team1},inputValues:0.5},{bank:{name:{Team2},inputValues:0.5}],atrMSettings:{name:{name:{Attracting_clients_asset_side},曲线:{name:{Attracting_clients_asset_asset_side},ccid:7},wgt:0.5},{inputValues:{bank:{bank:{name:{teament:{Team1},inpu