zoukankan      html  css  js  c++  java
  • js 数组操作

     

    toString():把数组转换成一个字符串

    toLocaleString():把数组转换成一个字符串

    join():把数组转换成一个用符号连接的字符串

    shift():将数组头部的一个元素移出

    unshift():在数组的头部插入一个元素

    pop():从数组尾部删除一个元素

    push():把一个元素添加到数组的尾部

    concat():给数组添加元素

    slice():返回数组的部分

    reverse():将数组反向排序

    sort():对数组进行排序操作

    splice():插入、删除或者替换一个数组元素

    1.shift

    删除原数组第一项,并返回删除元素的值;如果数组为空则返回undefined 

    1. var a = [1,2,3,4,5];   
    2. var b = a.shift(); //a:[2,3,4,5] b:1  

    2.unshift

    将参数添加到原数组开头,并返回数组的长度 

    1. var a = [1,2,3,4,5];   
    2. var b = a.unshift(-2,-1); //a:[-2,-1,1,2,3,4,5] b:7 

    3.pop

    删除原数组最后一项,并返回删除元素的值;如果数组为空则返回undefined 

    1. var a = [1,2,3,4,5];   
    2. var b = a.pop(); //a:[1,2,3,4] b:5  

    4.push

    将参数添加到原数组末尾,并返回数组的长度 

    1. var a = [1,2,3,4,5];   
    2. var b = a.push(6,7); //a:[1,2,3,4,5,6,7] b:7  

    5.concat

    返回一个新数组,是将参数添加到原数组中构成的 

    1. var a = [1,2,3,4,5];   
    2. var b = a.concat(6,7); //a:[1,2,3,4,5] b:[1,2,3,4,5,6,7] 

    6.splice(start,deleteCount,val1,val2,...)

    从start位置开始删除deleteCount项,并从该位置起插入val1,val2,... 

    1. var a = [1,2,3,4,5];   
    2. var b = a.splice(2,2,7,8,9); //a:[1,2,7,8,9,5] b:[3,4]   
    3. var b = a.splice(0,1); //同shift   
    4. a.splice(0,0,-2,-1); var b = a.length; //同unshift   
    5. var b = a.splice(a.length-1,1); //同pop   
    6. a.splice(a.length,0,6,7); var b = a.length; //同push 

    7.reverse将数组反序 

    1. var a = [1,2,3,4,5];   
    2. var b = a.reverse(); //a:[5,4,3,2,1] b:[5,4,3,2,1]  

    8.sort(orderfunction)

    按指定的参数对数组进行排序 

    1. var a = [1,2,3,4,5];   
    2. var b = a.sort(); //a:[1,2,3,4,5] b:[1,2,3,4,5]  

    9.slice(start,end)

    返回从原数组中指定开始下标到结束下标之间的项组成的新数组 

    1. var a = [1,2,3,4,5];   
    2. var b = a.slice(2,5); //a:[1,2,3,4,5] b:[3,4,5]  

    10.join(separator)

    将数组的元素组起一个字符串,以separator为分隔符,省略的话则用默认用逗号为分隔符

    1. var a = [1,2,3,4,5];   
    2. var b = a.join("|"); //a:[1,2,3,4,5] b:"1|2|3|4|5" 

    11.数组是JavaScript提供的一个内部对象,它是一个标准的集合,我们可以添加(push)、删除(shift)里面元素,我们还可以通过for循环遍历里面的元素,那么除了数组我们在JavaScript里还可以有别的集合吗? 

      由于JavaScript的语言特性,我们可以向通用对象动态添加和删除属性。所以Object也可以看成是JS的一种特殊的集合。下面比较一下Array和Object的特性: 

    1. //Array:  
    2. /*新建:*/var ary = new Array(); 或 var ary = [];   
    3. /*增加:*/ary.push(value);   
    4. /*删除:*/delete ary[n];   
    5. /*遍历:*/for ( var i=0 ; i < ary.length ; ++i ) ary[i];  
    6. //Object:  
    7. /*新建:*/var obj = new Object(); 或 var obj = {};   
    8. /*增加:*/obj[key] = value; (key为string)   
    9. /*删除:*/delete obj[key];   
    10. /*遍历:*/for ( var key in obj ) obj[key]; 

    12.从上面的比较可以看出Object完全可以作为一个集合来使用,在使用Popup窗口创建无限级Web页菜单(3)中我介绍过Eric实现的那个__MenuCache__,它也就是一个模拟的集合对象。 

      如果我们要在Array中检索出一个指定的值,我们需要遍历整个数组: 

    1. var keyword = ;   
    2.   for ( var i=0 ; i < ary.length ; ++i )   
    3.   {   
    4.   if ( ary[i] == keyword )   
    5.    {   
    6.        // todo   
    7.     }   
    8.   }  

    而我们在Object中检索一个指定的key的条目,只需要是要使用: 

    1. var key = '';   
    2. var value = obj[key];   
    3. // todo  

    13.数组字符串化

    arrayObj.join(separator); //返回字符串,这个字符串将数组的每一个元素值连接在一起,中间用 separator 隔开。
    toLocaleString 、toString 、valueOf:可以看作是join的特殊用法,不常用

    14.数组的拷贝

    arrayObj.slice(0); //返回数组的拷贝数组,注意是一个新的数组,不是指向
    arrayObj.concat(); //返回数组的拷贝数组,注意是一个新的数组,不是指向

    14.prototype 属性

    返回对象类型原型的引用。prototype 属性是 object 共有的。

    objectName.prototype

    objectName 参数是object对象的名称。

    说明:用 prototype 属性提供对象的类的一组基本功能。 对象的新实例“继承”赋予该对象原型的操作。

    对于数组对象,以以下例子说明prototype 属性的用途。

    给数组对象添加返回数组中最大元素值的方法。要完成这一点,声明一个函数,将它加入 Array.prototype, 并使用它。

    function array_max()
    {
      var i,
      max = this[0];
      for (i = 1; i < this.length; i++)
      {
          if (max < this[i])
          max = this[i];
      }
      return max;
    }
    Array.prototype.max = array_max;
    var x = new Array(1, 2, 3, 4, 5, 6);
    var y = x.max();

    该代码执行后,y 保存数组 x 中的最大值,或说 6。

    15、constructor 属性

    表示创建对象的函数。

    object.constructor //object是对象或函数的名称。

    说明:constructor 属性是所有具有 prototype 的对象的成员。它们包括除 Global 和 Math 对象以外的所有 JScript 固有对象。constructor 属性保存了对构造特定对象实例的函数的引用。

    x = new String("Hi");
    if (x.constructor == String) // 进行处理(条件为真)。

    或者:

    function MyFunc {
      // 函数体。
    }
    y = new MyFunc;
    if (y.constructor == MyFunc) // 进行处理(条件为真)。

  • 相关阅读:
    Linux下sed,awk,grep,cut,find学习笔记
    Python文件处理(1)
    KMP详解
    Java引用详解
    解决安卓中页脚被输入法顶起的问题
    解决swfupload上传控件文件名中文乱码问题 三种方法 flash及最新版本11.8.800.168
    null id in entry (don't flush the Session after an exception occurs)
    HQL中的Like查询需要注意的地方
    spring mvc controller间跳转 重定向 传参
    node to traverse cannot be null!
  • 原文地址:https://www.cnblogs.com/winyh/p/6668027.html
Copyright © 2011-2022 走看看