鍍金池/ 問答/HTML/ 怎樣把數(shù)組轉(zhuǎn)化成另一種格式?

怎樣把數(shù)組轉(zhuǎn)化成另一種格式?

怎樣把下邊的數(shù)組,這個gatewayB2c是動態(tài)的,例如這種:

"gatewayB2c": [{
                        "singlemaxamt": "9999999999999",
                        "biztype": "1201",
                        "singleminamt": "0.01",
                        "bankcode": "000000",
                        "bankname": "招商銀行",
                        "cdflag": "A"
                    }]

轉(zhuǎn)化成下面這種格式呢?

[{name: "singlemaxamt", value: "9999999999999"},
         {name: "biztype", value: "1201"},
         {name: "singleminamt", value: "0.01"},
         {name: "bankcode", value: "000000"},
         {name: "bankname", value: "招商銀行"},
         {name: "cdflag", value: "A"}]

已經(jīng)把gateWayB2c的值取出來了,是這么寫的

var ccc=gatewayB2c;
       ccc.forEach(function(v,i){   
               var bbb = Object.keys(v);
            Object.keys(v).forEach(function(v){
                /*console.log(v)//取到了key
                console.log(ccc[i][v])//取到了值*/
               
                var name = v;
                var value = ccc[i][v];
                var c=bbb.length;
                //arr.push("name:"+v,"value:"+ccc[i][v]);
               console.log(name+'------'+value);
            })
            console.log(arr);
        })

值是這樣

singlemaxamt------9999999999999
 biztype------1201
 singleminamt------0.01
 bankcode------000000
bankname------招商銀行
cdflag------A

下邊就不知道該怎么寫了

回答
編輯回答
青瓷
const gatewayB2c = [{
      "singlemaxamt": "9999999999999",
      "biztype": "1201",
      "singleminamt": "0.01",
      "bankcode": "000000",
      "bankname": "招商銀行",
      "cdflag": "A"
    }];

    let data = [];
    gatewayB2c.forEach(function (item) {
      for (let [key, value] of Object.entries(item)) {
        var obj = {
          name: key,
          value: value
        };
        data.push(obj);
      }
    });

    console.log(data);

圖片描述

2017年5月17日 01:50
編輯回答
敢試
let arr = [{
    "singlemaxamt": "9999999999999",
    "biztype": "1201",
    "singleminamt": "0.01",
    "bankcode": "000000",
    "bankname": "招商銀行",
    "cdflag": "A"
}]

let newArr = [];
arr.forEach(item => {
    for (var key in item) {
        const obj = {
            name: key,
            value: item[key]
        }
        newArr.push(obj);
    }
})

console.log(newArr);
2017年5月23日 09:32