如何循环查询结果并将其动态存储到对象或数组?

时间:2020-02-12 10:06:32

标签: javascript node.js

我正在尝试制作如下所示的JSON:

expected result

这是我的源代码:(如您所见,我用索引对kunci进行了硬编码,以将其存储为键,还对bobot赋予了权重)

  let allAnswer = parseData(jawaban);
  let param = await knex.select().from("parameter_question");

  let kunci = [];
  let weight = [];
  param.forEach(data => kunci.push(data.parameter_question));
  param.forEach(data => weight.push(data.bobot));

  let perusahaan=[];
  for(let i=0; i<allAnswer.length;i++){
      perusahaan.push( allAnswer[i].nama_perusahaan);
    }

    /*=======> SUM ANSWER POINT PER PARAMETER <=======*/
  let administrasi = 0;
  let arrayAdministrasi = [];
  let minat = 0;
  let arrayMinat = [];
  let financial = 0;
  let arrayFinancial = [];
  let pengalaman = 0;
  let arrayPengalaman = [];
  let team = 0;
  let arrayTeam = [];
  let stock = 0;
  let arrayStock = [];
  let peralatan = 0;
  let arrayPeralatan = [];
  for(let i=0; i<allAnswer.length;i++){
        for(let j=0;j<allAnswer[i].point.length;j++){

            if(j<=11){
              administrasi += allAnswer[i].point[j]
            }else if(j>11 && j<=22){
              minat += allAnswer[i].point[j]
            }else if(j>22 && j<=34){
              financial += allAnswer[i].point[j]
            }else if(j>34 && j<=49){
              pengalaman += allAnswer[i].point[j]
            }else if(j>49 && j<=57){
              team += allAnswer[i].point[j]
            }else if(j>57 && j<=69){
              stock += allAnswer[i].point[j]
            }else if(j>69 && j<=75){
              peralatan += allAnswer[i].point[j]
            }
        }

        let coba = {}
        arrayAdministrasi[i] = administrasi;
        arrayMinat[i]=minat;
        arrayFinancial[i]=financial;
        arrayPengalaman[i]=pengalaman;
        arrayTeam[i]=team;
        arrayStock[i]=stock;
        arrayPeralatan[i]=stock;
      }

    for(let i=0;i<allAnswer.length;i++){
  let accounting =JSON.stringify({
    "kriteria":[{
      "key":kunci[0],
      "bobot":weight[0]
    },{
      "key":kunci[1],
      "bobot":weight[1]
    },{
      "key":kunci[2],
      "bobot":weight[2]
    },{
      "key":kunci[3],
      "bobot":weight[3]
    },{
      "key":kunci[4],
      "bobot":weight[4]
    },{
      "key":kunci[5],
      "bobot":weight[5]
    },{
      "key":kunci[6],
      "bobot":weight[6]
    }
  ],

    "alternatif":[
    {
        "key":perusahaan[i],
        "value":[{
          "Administrasi":administrasi[i],
          "Peminatan Tower Power":minat[i],
          "Financial Capability":financial[i],
          "Pengalaman":pengalaman[i],
          "Team Availability":team[i],
          "Stock Material dan Logistik":stock[i],
          "Peralatan yang Digunakan":peralatan[i]
        }
      ]
      }
    ]
  });
}

  let counter_fin = JSON.parse(accounting);

我真的需要您的帮助,因为我很难尝试为预期的结果制作make循环。请帮助我动态进行制作,这样我就不必对其进行硬编码而不会出现任何错误

0 个答案:

没有答案
相关问题