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;

      }

  • 相关阅读:
    JSON就是名值对 name/value pair
    AjaxXMLHttpRequest
    英语单词分类记
    委托和事件的理解
    用float设置主页的左右两边菜单
    OCS通讯路径
    测试用Word写Blog
    第一课 C#入门
    nginx虚拟目录设置 alias 和 root
    vsftp 出错,无法创建文件的解决方法
  • 原文地址:https://www.cnblogs.com/haishen/p/10251090.html
Copyright © 2011-2022 走看看