js数组循环创建问题求解

js数组循环创建问题求解

问题描述:

已知以下数组:
arr=[['2018-01-01','aaa',12.11],['2018-02-01','bbb',12.99],['2018-09-01','aaa',1.11],['2018-01-01','ccc',152.11]];
brr=['date','type','val'];
如何构建以下数组:
crr=[{'date':'2018-01-01','type':'aaa','val':12.11},{...},{...},{...}];
菜鸟,对数组理解不深,可否分别使用JavaScript、jQuery两种方式演示;

 var arr=[['2018-01-01','aaa',12.11],['2018-02-01','bbb',12.99],['2018-09-01','aaa',1.11],['2018-01-01','ccc',152.11]];
        var brr=['date','type','val'];
        function js(){
            var crr = new Array();
            for (var i = 0; i < arr.length;  i++){
                var a = new Array();
                a[brr[0]]= arr[i][0];
                a[brr[1]]= arr[i][1];
                a[brr[2]]= arr[i][2];
                crr.push(a);
            }
        }
        function jq(){
            var crr = new Array();
            $.each(arr, function(i, e){
                var a = new Array();
                a[brr[0]]= e[0];
                a[brr[1]]= e[1];
                a[brr[2]]= e[2];
                crr.push(a);
            });
        }
        js();
        jq();

只需要根据arr遍历就可以了,brr里面的内容可以写到循环内

var len = arr.length;
var crr=new Array()
for(var i= 0; i < len; i++)
{
var tempArr = arr[i];
var obj = {'date':tempArr[0],'type':tempArr[1],'val':tempArr[2]}
crr[i] = obj;
}

参考下:

 var crr = new Array();
for(int i=0;i<3){
 crr[i] = "{'"+brr[0]+"':'"+arr[i][0]+"','"+brr[1]+"':'"+arr[i][1]+"','"+brr[2]+"':'"+arr[i][2]+"',}";
}


    arr=[['2018-01-01','aaa',12.11],['2018-02-01','bbb',12.99],['2018-09-01','aaa',1.11],['2018-01-01','ccc',152.11]];
    brr=['date','type','val'];
    var crr = []
    for (var i = 0; i < arr.length; i++) {
        var o = {}
        for (var j = 0; j < arr[i].length; j++) {
            if (brr[j]) o[brr[j]] = arr[i][j]
        }
        crr.push(o)
    }
    alert(JSON.stringify(crr))

var crr = new Array();
for(int i=0;i<3){
crr[i] = "{'"+brr[0]+"':'"+arr[i][0]+"','"+brr[1]+"':'"+arr[i][1]+"','"+brr[2]+"':'"+arr[i][2]+"',}";
}

var arr=[['2018-01-01','aaa',12.11],['2018-02-01','bbb',12.99],['2018-09-01','aaa',1.11],['2018-01-01','ccc',152.11]];
var brr=['date','type','val'];
function js(){
var crr = new Array();
for (var i = 0; i < arr.length; i++){
var a = new Array();
a[brr[0]]= arr[i][0];
a[brr[1]]= arr[i][1];
a[brr[2]]= arr[i][2];
crr.push(a);
}
}
function jq(){
var crr = new Array();
$.each(arr, function(i, e){
var a = new Array();
a[brr[0]]= e[0];
a[brr[1]]= e[1];
a[brr[2]]= e[2];
crr.push(a);
});
}
js();
jq();

var arr=[['2018-01-01','aaa',12.11],['2018-02-01','bbb',12.99],['2018-09-01','aaa',1.11],['2018-01-01','ccc',152.11]];
var brr=['date','type','val'];
function js(){
var crr = new Array();
for (var i = 0; i < arr.length; i++){
var a = new Array();
a[brr[0]]= arr[i][0];
a[brr[1]]= arr[i][1];
a[brr[2]]= arr[i][2];
crr.push(a);
}
}
function jq(){
var crr = new Array();
$.each(arr, function(i, e){
var a = new Array();
a[brr[0]]= e[0];
a[brr[1]]= e[1];
a[brr[2]]= e[2];
crr.push(a);
});
}
js();
jq();


arr=[['2018-01-01','aaa',12.11],['2018-02-01','bbb',12.99],['2018-09-01','aaa',1.11],['2018-01-01','ccc',152.11]];
brr=['date','type','val'];

var crr=[];
for(var i=0;i<arr.length;i++){
var aa=arr[i];
var obj={};
for(var j=0;j<aa.length;j++){
var key=crr[j];
var value=aa[j];
obj[key]=value;
}
crr.push(obj);
}

       let arr = [
            ['2018-01-01', 'aaa', 12.11],
            ['2018-02-01', 'bbb', 12.99],
            ['2018-09-01', 'aaa', 1.11],
            ['2018-01-01', 'ccc', 152.11]
        ];
        let brr = ['date', 'type', 'val'];
        let crr = [];
        for (let item of arr) {
            let obj = {};
            obj[brr[0]] = item[0];
            obj[brr[1]] = item[1];
            obj[brr[2]] = item[2];
            crr.push(obj);
        }
        console.log('crr', crr);