js 数据对象转化

/*
   * { 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];
            });
        }
    }

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

时间: 2024-10-12 05:34:12

js 数据对象转化的相关文章

yii2得到的数据对象转化成数组

yii2得到的数据对象转化成数组需要用到asArray().1.Customer::find(['id' => $id])->asArray()->one();2.$model = Customer::findModel($id); $model->attributes;  

1、AJAX里面status的值代表什么 2、get post 的区别 3、怎样把对象转化成字符串 4、闭包、继承、原型、原型链 5 、http传输协议 6、arguments是什么

1.AJAX里面status的值代表什么     在JavaScript里面写AJax的时,最关键的一步是对XMLHttpRequest对象建立监听,即使用"onreadystatechange"方法.监听的时候,要对XMLHttpRequest对象的请求状态进行判断,通常是判断readyState的值为4且status的值为200或者304时执行我们需要的操作.以下记录了一些常用readState以及status的值及其含义 readyState 属性表示Ajax请求的当前状态.它的

原生 JS 中对象相关 API 合集

https://juejin.im/entry/58f8a705a0bb9f0065a4cb20 原文链接:https://microzz.com/2017/04/20/jsobject/ 原生 JavaScript 中对象相关 API 合集 - 对象篇.现在 jQuery 已经没有那么有优势了,原生 JS 赶紧学起来... -- 由microzz分享 Microzz [email protected] 主页 文章 标签 GitHub 关于我 掘金专栏 SegmentFault Vue音乐播放器

js中对象使用

简单记录javascript中对象的使用 一.创建对象 //创建一个空对象 var o={}; //创建一个含有两个属性的对象,x.y var o2={x:12,y:'12',name:'JS'}; //此对象中的author属性的值还是一个对象 var o3={x:12,author:{name:'JS',age:23,address:'china'}}; //创建一个空对象和{}一样 var o4=new Object(); //给对象增加name属性 o4.name='JS' 上面使用了两

jquery.qrcode.min.js(支持中文转化二维码)

详情请看: http://www.ncloud.hk/%E6%8A%80%E6%9C%AF%E5%88%86%E4%BA%AB/jqueryqrcodeminjs/ 今天还是要讲一下关于二维码的知识,前几篇讲解中有讲到我使用的可以生成二维码的js是qrcode.js,然后结合Cordovad的插件$cordovaBarcodeScanner插件可以扫描二维码,这样就基本完成了简单的扫一扫功能.后来在项目进行,开始要调用后台数据和传参数到接口的时候发现qrcode.js它只能解析英文或者数字,并且

又一个php与js数据交互的例子

php和js如何通过json互相传递数据相关问题探讨 作者: 字体:[增加 减小] 类型:转载 json是js的一种数据格式,可以直接被js解析,php无法直接读取json数据,但是php提供了json_decode函数来对json数据进行转化,从而可以被php脚本访问,今天,站长就和大家一起来探讨这个问题,感兴趣的你可以参考下哦 当我们在结合php和javascript实现某些功能时,经常会用到json.json是js的一种数据格式,可以直接被js解析.而php无法直接读取json数据,但是p

JS 数据类型转换

JS 数据类型转换 方法主要有三种 转换函数.强制类型转换.利用js变量弱类型转换. 1. 转换函数: js提供了parseInt()和parseFloat()两个转换函数.前者把值转换成整数,后者把值转换成浮点数.只有对String类型调用这些方法,这两个函数才能正确运行:对其他类型返回的都是NaN(Not a Number). 在 判断字符串是否是数字值前,parseInt()和parseFloat()都会仔细分析该字符串.parseInt()方法首先查看位置0处的 字符,判断它是否是个有效

JavaWeb开发中form、ajax提交数据Model转化

JavaWeb开发中form.ajax提交数据Model转化 问题 最近学习MongoDB数据库,作为java开发的我,当然需要做个小的web程序来测试一番了.在html中我采取ajax提交方式,因为我要模拟各种类型的数据,基础数据类型.数组.对象等.然而,最终发现了个不同的地方:Form和ajax提交数据,在HttpServletRequest中尽然参数名有所不同. 数据类型 form ajax 基础数据 para=value para=value 数组 para[]={"aaa",

JAVA对象转化JSON出现死循环问题

主要是解决JSON因Hibernate映射生成的集合的转化出现的死循环问题. 这个方法很重要 1 public String ajaxJsonByObjectDirecdt(Object obj, String[] filterNames){ 2 JsonConfig jsonConfig = new JsonConfig(); 3 jsonConfig.setIgnoreDefaultExcludes(false); 4 jsonConfig.setCycleDetectionStrategy