zoukankan      html  css  js  c++  java
  • Array数组

    1、判断一个对象是否为 array

      let obj = {};

      let arr = [];

      Array.isArray(obj);  //false

      Array.isArray(arr);  //true

    2、将一下字符串转换成数组

      let str = '["huangny233333","android_wxpaytest_56","android_wxpaytest_56","android_wxpaytest_55","android_wxpaytest_38"]'

      let arr = eval(str);  //变成相应数组

    eval( ) 函数可以计算某个字符串,并执行其中的js代码

    3、数组的浅拷贝和深拷贝。

      var Chinese = { nation : '中国'  };

      var Doctor = { career : '医生' };

      function extendCopy( p ){

        var c = {};

        for(var i in p){

          c[i] = p[i];

          c.uber = p;

        }

        return c;

      }

    使用如下:

      var doctor = extendCopy(Chinese);

      doctor.career = '医生';

      alert( doctor.native );  //中国

    这种方式,实际上,子对象获得的只是一个内存地址,而不是真正的拷贝,因此父对象存在被篡改的可能。

    深拷贝:

      所谓深拷贝,就是真正意义上实现数组和对象的拷贝,它的实现并不难,只要递归调用浅拷贝就行了。

      function deepCopy(p, c){

        var c = c || {};

        for( var i in p){

          if( typeof p[i] === 'object'){

            c[i] = (p[i].constructor === Array)  ?  [] : {} ;

            deepCopy( p[i], c[i] );  

          }else{

            c[i] = p[i];

          }

        }

        return c;

      }

  • 相关阅读:
    ROS工业机器人 ROSI Kinetic培训课程
    伺服电机电流、速度、位置环控制
    人工智能入门书单
    更新 Ubuntu 系统,避免报错「校验和不符」
    arduino+16路舵机驱动板连接测试
    Visual SLAM算法:2010年至2016年的回顾
    roslink
    java——自动装箱拆箱
    java_四大流
    Java反射
  • 原文地址:https://www.cnblogs.com/haishen/p/10251090.html
Copyright © 2011-2022 走看看