码迷,mamicode.com
首页 > Web开发 > 详细

js 数据对象转化

时间:2019-05-15 14:12:49      阅读:159      评论:0      收藏:0      [点我收藏+]

标签:bsp   ext   eof   UNC   数据对象   push   false   ...   length   

/*
   * { key1:[v11,v12],key2:[v21,v22]} 或 [[v11,v12],[v21,v22]] 转化成=》 [{key1:v11,key2:v21},{key1:v12,key2:v22},]
   * */
function objTransform1(obj){

    var desArr = [];
    if(JSON.stringify(obj) == "{}"){
        return desArr;
    }
    var keysArr = Object.keys(obj);
    if(!(obj[keysArr[0]] instanceof Array)){ // 如果是{key1:v1,key2:v2}模式
        desArr.push(obj);
        return desArr;
    }
    
    Object.keys(obj).forEach(function(key){

        var len =obj[key].length;
        for(var i=0; i<len; i++){
            if(!desArr[i]){
                desArr.push({});
            }

            (desArr[i])[key] = (obj[key])[i];
        }
    });
    return desArr;
}

 

  /*
*  [{key1:v11,key2:v12},{key1:v21,key2:v22}] 转化成=》 [[v11,v21],[v12,v22]]
    * */
    function transform2(objArr){
        var desArr= [];

        objArr.forEach(function(item,i){

            Object.keys(item).forEach(function(key,j){
                if(i==0){
                    desArr.push([]);
                }
                desArr[j].push(item[key]);
            });

        });

        return desArr;

    }

 

 

    // 简单对象扩展属性,obj是对象,attr是要添加的属性对象{key1:v1,key2:v2},innerExtend是否是内部的属性对象扩展
    function extendAttr(obj,attr,innerExtend){
        if(JSON.stringify(obj) == "{}" ){ //判断是否是空对象,这里空对象不扩展
         return false;
        }
        if(innerExtend){  //obj= {key1:{...},key2:{...}}
            Object.keys(obj).forEach(function(key0){

                Object.keys(attr).forEach(function(key){
                    (obj[key0])[key] = attr[key];
                });
            });

        }else{
            Object.keys(attr).forEach(function(key){
                obj[key] = attr[key];
            });
        }
    }

 

js 数据对象转化

标签:bsp   ext   eof   UNC   数据对象   push   false   ...   length   

原文地址:https://www.cnblogs.com/zhanglw456/p/10868973.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!