欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

数组及相关操作

程序员文章站 2024-03-22 23:27:16
...

1. 概念:所谓数组,是有序的元素数列,即一组有序数据。
2. 创建方式:
1. var arr = a[1,2];//字面量声明方式,此时数组中有1,2共两个元素,且arr[0]=1,arr[1]=2,由此可见若设定一个变量i,arr[i]即可遍历数组,i称为下标或索引,从0开始至arr.length-1结束(arr.length为数组长度)
2. var arr = new Array();构造函数方式创建数组,与上面创建方式用法相同,但不同的参数会导致行为不一致,因此最好使用字面量方式创建
3. 相关操作

1 push() // 向数组末尾添加元素,原数组发生改变,并且返回值为改变后数组的长度。若push()内无参数返回原数组长度和原数组的元素

        eg:var arr = [1,2,3,4,5];
                var arr1=arr.push(1);
                document.write(arr1+"<br />"+arr);
                //结果为 6
                          1,2,3,4,5,16即为添加1后数组的长度为6,后面即为添加后的新数组)//原数组操作后发生改变

2 pop()//删除数组最末一个元素,无论pop()内是否有参数,并返回被删除元素

       eg:var arr = [1,2,3,4,5];
                var arr1=arr.pop();
                document.write(arr1+"<br />"+arr);
                //结果为   5
                                 1,2,3,45处于最末,即被删掉的元素,1,2,3,4为删除过后的数组)//原数组操作后发生改变

3 unshift()//用法与push()相似,只是将元素添加在了头部,返回操作后数组长度,原数组发生改变

      eg:var arr = [1,2,3,4,5];
                var arr1=arr.unshift(1);
                document.write(arr1+"<br />"+arr);
                //结果为   6
                                1,1,2,3,4,5

4 shift()//用法与pop()相似,只是是在头部删除一个元素,返回被删除元素,原数组发生改变

      eg:var arr = [1,2,3,4,5];
                var arr1=arr.shift();
                document.write(arr1+"<br />"+arr);
                //结果为   1
                                 2,3,4,5

5 slice()//截取数组片段,一个参数即从参数对应索引开始截至末尾,并返回被截取片段
两个参数(至多两个参数),从第一个参数对应索引为开始截取至第二个参数对应索引位结束(不包括第二个参数对应索引位),并返回此片段
无参,返回原数组
slice()操作过后,原数组不发生改变

      eg:var arr = [1,2,3,4,5];
                var arr1=arr.slice(2);
                document.write(arr1+"<br />"+arr);
                //结果为   3,4,5
                                 1,2,3,4,5
          eg:var arr = [1,2,3,4,5];
                var arr1=arr.slice(2,3);
                document.write(arr1+"<br />"+arr);
                //结果为  3
                               1,2,3,4,5

6 splice()//一个参数时,从参数对应索引开始截取至数组末尾,返回被截取片段,原数组发生改变
两个参数时,从第一个参数对应索引位开始截取至第二个参数的长度,即第二位参数表示被截取的长度,原数组发生改变
三或以上参数,前两位与上相同,后面的插入到截取的地方

       eg:var arr = [1,2,3,4,5];
            var arr1=arr.splice(2);
            document.write(arr1+"<br />"+arr);
            //结果为    3,4,5
                              1,2
     eg:var arr = [1,2,3,4,5];
            var arr1=arr.splice(2,3);
            document.write(arr1+"<br />"+arr);
            //结果为    3,4,5
                              1,2
     eg:var arr = [1,2,3,4,5];
            var arr1=arr.splice(2,3,11);
            document.write(arr1+"<br />"+arr);
            //结果为    3,4,5
                              1,2,11    

7 reverse()//将数组内元素翻转,原数组发生改变

   eg:var arr = [1,2,3,4,5];
            var arr1=arr.reverse();
            document.write(arr1+"<br />"+arr);
            //结果为    5,4,3,2,1
                              5,4,3,2,1 

8 sort()//方法对数组成员进行排序,默认是按照字典顺序排序。排序后,原数组将被改变.
sort方法不是按照大小排序,而是按照字典顺序。也就是说,数值会被先转成字符串,再按照字典顺序进行比较。
如果想让sort方法按照自定义方式排序,可以传入一个函数作为参数。

   eg:  var arr = [1,2,3,4,5,2];
                arr.sort(function(a,b){
                return a-b;
                });
               document.write(arr);
            //输出   1,2,2,3,4,5  从小到大排列

              var arr = [1,2,3,4,5,2];
                arr.sort(function(a,b){
                return b-a;
                });
               document.write(arr);
            //输出   5,4,3,2,2,1  从大到小排列