Js基础之数组

在JavaScript中,我们使用数组存储多个值。首先需要注意的是,js中数组的每一项都可以保存任何类型的数据,也就是说,可以用数组的第一个位置来保存数值,第二个位置来保存字符串,第三个位置来保存对象,以此类推。而且,数组的大小是可以动态调整的,及可以随着数据的添加自动增长以容纳新的数据。还有数组索引从0开始

定义数组:

     1.使用构造函数

      var arr = new Array();

    var arr = new Array(5);               //传参代表知道数组要保存多少项目

        var arr = new Array("12","13","14","15");   //直接传递数组中要保存的数据

    2.使用数组字面量表示法(IE与其他浏览器的实现不一致,不建议使用)(不会调用Array的构造函数(除了Firefox))

   var colors=[“red”,“blue”,"green"]   //创建一个包含3个字符串的数组

   var values=[1,2,]     //不要这样!!!!会创建一个包含两个(Firefox,Opera,Safari,Chrome等)或三个项(IE)的数组

访问数组:

   我们通过数组名加索引来访问数组, 索引基于0

  如 给数组赋值 arr[0]=10; 获取数组的值 alert(arr[0]);

数组长度:arr.length

    如:var length = arr.length;

  注意该属性不是只读的,可通过设置该属性以从数组末尾移除或想数组中添加新项 ,如:

     var colors=[“red”,“blue”,"green"] 

  colors.lenth=2;      

  alert(colors[2])    //得到undefined          移除

  如果设为4

  colors.lenth=4;      

  alert(colors[3])    //得到undefined         新增,没有赋值

常用方法:

1、sort() :对数组元素排序

注意此时得到的结果为 1,10,1000,25,5,40.因为该函数比较的是字符串,解决方法如下:

function  compare(val1,val2){

  if(val1>val2){

    return  -1;

  }else if(val1<val2){

    return  1;

  }else{

    return 0;

  }

}

将 该函数作为参数传递给sort()即可实现降序功能,升序类似

2、reverse():让数组元素逆序排列

3、concat():创建当前数组的一个副本,然后将接收到参数添加到该副本末尾,返回新的数组.

      参数为空或者1到多个数组.如:

         var colors=[“red”,“blue”,"green"] 

      var colors2=colors.concat("yellow",["black","brown"])

          alert(colors2)    //red blue green yellow black  brown 

4.slice():基于当前数组中的一个或多个项创建一个新数组 

    参数1个:从该位置开始复制  参数两个:从第一个参数指定的位置开始,复制到第二个参数指定位置前一位,不包含该位置的项,如:

    var colors=[“red”,“blue”,"green","black","brown"] 

    var colors2=colors.slice(1)       //blue green black  brown 

    var colors2=colors.slice(1,4)       //blue green black  

原文地址:https://www.cnblogs.com/jiangxiulian/p/5917586.html