开发者社区> 问答> 正文

js结构封装,怎么把一个一维数组和二维数组,封装成另一种结构呢,代码如下

ar colOne = [[
        'account',
        'accountName'
    ],
    [
        'wxHead',
        'wxHeadImage'
    ],
    [
        'name',
        'username',
        'abc'
    ]];
var colTwo = ['field', 'title','formatter'];
var cols = [{
    field: 'account',
    title: 'accountName'
}, {
    field: 'wxHead',
    title: 'wxHeadImage'
}, {
    field: 'name',
    title: 'username',
    formatter: 'abc'
<p>
    }];
</p>
 
<p>
    //怎么才能把colOne和colTwo封装成cols呢
</p>

展开
收起
a123456678 2016-07-18 10:20:23 2677 0
2 条回答
写回答
取消 提交回答
  • var colOne = [[
            'account',
            'accountName'
        ],
        [
            'wxHead',
            'wxHeadImage'
        ],
        [
            'name',
            'username',
            'abc'
        ]];
    
    var colTwo = ['field', 'title','formatter'];
    
    const transFun = (colOne, colTwo) => colOne.map(n => {
        let o = {};
    ​
        n.forEach((m, j) => o[colTwo[j]] = m);
    ​
        return o;
    });
    2019-07-17 19:57:33
    赞同 展开评论 打赏
  • function transM(colOne,colTwo){
        var cols=[];
        for(var i=0;i<colOne.length;i++){
            var tmp={};
            var tmpColOne=colOne[i];
            var len=tmpColOne.length<=colTwo.length?tmpColOne.length:colTwo.length;
            for(var k=0;k<len;k++){
                if(colOne[i][k]){//判断是否为空值
                    tmp[colTwo[k]]=colOne[i][k];
                }
            }
            cols[i]=tmp;
        }
        return cols;
    }
    2019-07-17 19:57:33
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
JavaScript函数 立即下载
Delivering Javascript to World 立即下载
编程语言如何演化-以JS的private为例 立即下载