JavaScript 数组方法

 

push:向数组的末尾增加一项 返回值是数组的新长度
unshift:向数组开头增加一项 返回值是数组的新长度
pop:删除数组的末尾项 返回值是删除的数组项
shift:删除数组开头项 返回被删除的开头项目
splice:删除数组中的任意项 返回值是被删除的数组项

slice:复制数组 返回值是复制到的新数组 写上数值之后 不包含被复制的最后一项
toString():把数组转换成字符串
拼接:
concat:把一个数组和另一个数组拼接在一起 返回拼接好的数组
join:把数组中的每一项 按照指定的分隔符拼接成字符串

delete: 删除数组的某一项

排序:
reverse:倒序数组 返回值倒序数组 原有数组改变
sort:根据匿名函数进行冒泡排序 b-a倒序 a-b升序

兼容性不好:
indexOf:返回获取项在数组中的索引
$.inArray:JQ方法和indexOf差不多
lastIndexOf:返回获取项在数组中出现的最后一次索引
forEach: 循环遍历数组 参数是一个匿名函数 默认返回为undefined
for / for in:循环遍历数组
map:循环遍历数组 参数是一个匿名函数

 

  1         var arr = [8,2,3,4,6];
  2         
  3         //push:向数组的末尾增加一项 返回值是数组的新长度;
  4         var len = arr.push(1);
  5         alert(arr); //[8,2,3,4,6,1]
  6         alert(len); //6
  7         
  8         
  9         
 10         //unshift:向数组开头增加一项 返回值是数组的新长度
 11         var len = arr.unshift(5);
 12         alert(arr); //[5,8,2,3,4,6]
 13         alert(len); //6
 14         
 15         
 16         //pop:删除数组的末尾项 返回值是删除的数组项
 17         var num = arr.pop(); //不需要参数
 18         alert(arr); //[8,2,3,4]
 19         alert(num); //6    //末尾项的数值
 20         
 21         
 22         //shift:删除数组开头项 返回被删除的开头项目
 23         var num = arr.shift();
 24         alert(arr); //[2,3,4,6]
 25         alert(num); //8 
 26         
 27         
 28         //splice:删除数组中的任意项 返回值是被删除的数组项
 29         var num = arr.splice(2,1); //删除索引为2的,删除1个。   splice(index,len);  //如果len是数组的长度就代表清空数组
 30         alert(arr); // [8,2,4,6]
 31         alert(num); //3
 32         
 33         
 34         //slice:复制数组 返回值是复制到的新数组 写上数值之后 不包含被复制的最后一项
 35         var newArr =[];
 36         var newArr = arr.slice(1,3); //索引为1开始,复制到3(不包括3)返回值是一个新的数组
 37         alert(newArr);
 38         
 39         //拼接:concat:把一个数组和另一个数组拼接在一起 返回拼接好的数组
 40         var arrOther = [10,15,20,25,16];
 41         var newArr = [];
 42         newArr = arr.concat(arrOther);  //久的数组加上新的数组
 43         //newArr = arr + arrOther;  //直接用+号也可以
 44         alert(newArr);  //[8,2,3,4,6,10,15,20,25,16];
 45         
 46         //join:把数组中的每一项 按照指定的分隔符拼接成字符串
 47         var  str = arr.join("|"); //按照参数里面的连接起来, 不包括最后一项,只有中间项
 48         alert(str)  //"8|2|3|4|6"
 49         
 50         //排序:reverse:倒序数组 返回值倒序数组 原有数组改变
 51         var newArr = arr.reverse();  //数组倒叙  数值和原数组都倒叙
 52         alert(newArr); //[6,4,3,2,8]
 53         alert(arr); //[6,4,3,2,8]
 54         
 55         //sort:根据匿名函数进行冒泡排序 b-a倒序 a-b升序
 56         var newArr = arr.sort(function (a,b) {
 57             return a-b;//升序
 58         });
 59         alert(newArr); //[2,3,4,6,8]
 60         alert(arr); //[2,3,4,6,8]
 61         
 62         
 63         var newArr = arr.sort(function (a,b) {
 64             return b-a;//降序
 65         });
 66         alert(newArr); //[2,3,4,6,8]
 67         alert(arr); //[2,3,4,6,8]
 68         
 69         var newArr = arr.sort(function (a,b) {
 70             return Math.random()-1;//降序
 71         });
 72         alert(newArr); //[2,3,4,6,8]
 73         alert(arr); //[2,3,4,6,8]
 74         
 75         //indexOf:返回获取项在数组中的索引  //lastIndexOf:返回获取项在数组中出现的最后一次索引
 76         //var num = arr.indexOf(2);//返回索引值,  indexOf(element,开始索引);  //从开始索引开始找,默认开始索引为0,如果找不到返回-1
 77         var num = arr.lastIndexOf(2);//返回索引值,  lastIndexOf(element,开始索引); //从结束位置开始找,开始索引默认为数组长度-1, 如果找不到返回-1
 78         alert(num);//1
 79         
 80         //forEach: 循环遍历数组 参数是一个匿名函数 默认返回为undefined
 81         var obj = arr.forEach(function (element,index,arrNew) {
 82             console.log(this);  //如果没有第二个参数,this代表window, 如果有第二个参数,this代表第二个参数obj
 83             alert(element)  //function第一个参数是遍历数组的当前元素
 84             alert(index) //function的第二个参数是遍历数组的索引值
 85             alert(arrNew)  //function的第三个参数是遍历数组
 86         },arr)
 87         alert(obj) //undefind
 88         
 89         //map:循环遍历数组 参数是一个匿名函数  和ForEach 用法一样
 90         var obj = arr.map(function (element,index,arrNew) {
 91             console.log(this);  //如果没有第二个参数,this代表window, 如果有第二个参数,this代表第二个参数obj
 92             alert(element)  //function第一个参数是遍历数组的当前元素
 93             alert(index) //function的第二个参数是遍历数组的索引值
 94             alert(arrNew)  //function的第三个参数是遍历数组
 95         },arr)
 96         console.log(obj) //['undefind','undefind','undefind','undefind','undefind'];
 97         
 98         //常用的循环遍历方法  for  for in
 99         for (var i = 0; i < arr.length; i++) {
100             console.log(arr[i]);//循环遍历数组
101         }
102         
103         for (var i in arr) {
104             console.log(i); //输出索引值
105             console.log(arr[i]); //输出索引值对应的值
106         }
107         
108         //JQ里面$.inArray和原生的indexOf用法一致
109         var index = $.inArray(2,arr,1); //如果找到了元素的值就返回元素所在的索引, 如果没有找到就返回-1  //$.inArray(element,要查找的数组,数组开始的索引)
110         console.log(index);
111         //toString()方法
112         console.log(arr.toString());//"8,2,3,4,6"

      

    

      //delete 删除数组的某一项
      var int = delete arr[1]; //
      console.log(int); //true
      console.log(arr); //删除后的数组 [8,3,4,6]

 

 

posted on 2017-04-17 11:28  xw_que  阅读(161)  评论(0)    收藏  举报

导航