数组方法

Posted wangjingzhi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组方法相关的知识,希望对你有一定的参考价值。

栈方法:

  push(推入)、pop(弹出):

 1     var colors = new Array();                  
 2     // 创建一个数组
 3      var count =  colors.push("red", "green");
 4    // 推入两项 alert(count);  //2 
 5  
 6     count = colors.push("black");              
 7     // 推入另一项 alert(count);     //3 
 8  
 9     var item = colors.pop();                  
10     // 取得最后一项 alert(item);      
11     //"black" alert(colors.length);   //2 

队列方法:

  shift()、unshift()

 1     var colors = new Array();                   
 2     //创建一个数组 var count = colors.push("red", "green");    
 3     //推入两项 alert(count);  //2 
 4  
 5     count = colors.push("black");               
 6     //推入另一项 alert(count);     //3 
 7  
 8     var item = colors.shift();                  
 9     //取得第一项 alert(item);      
10     //"red" alert(colors.length); //2 

重排序方法:

  reverse()、sort(),这两个方法都会调用toString()方法,然后比较得到后的字符串,即使每一项是数字,比较的也是字符串。

1         var arr = [0,1,10,5,15,9];
2 
3         console.log(arr.reverse());  //  [ 9, 15, 5, 10, 1, 0 ] 
4 
5         console.log(arr.sort());      //  [ 0,  1, 10, 15, 5, 9]

  sort()方法可以接收一个比较函数作为参数,以便确定哪个值位于哪个值的前面。

  

 1         var arr = [0,1,10,5,15,9];
 2         function compare(value1,value2){
 3             if(value1 < value2){
 4                 return -1;
 5             }else if (value1 > value2){
 6                 return 1;
 7             }else{
 8                 return 0;
 9             }
10         }
11         
12         console.log(arr.sort(compare).toString());    
13         // 输出结果  [0,1,5,9,10,15]

操作方法:

  concat() 连接  、splice()  删除 、插入、替换  这两个方法都不会改变原来数组。

1         var colors = ["red", "green", "blue"]; 
2         var colors2 = colors.concat("yellow", ["black", "brown"]); 
3  
4         alert(colors);     //red,green,blue         
5         alert(colors2);    //red,green,blue,yellow,black,brown             

以上是关于数组方法的主要内容,如果未能解决你的问题,请参考以下文章

几个关于js数组方法reduce的经典片段

几个关于js数组方法reduce的经典片段

有人可以在快速数组中给出“如果不存在则追加”方法的片段吗?

为什么我不能在此片段中生成唯一对象数组?

10个JavaScript代码片段,使你更加容易前端开发。

10个JavaScript代码片段,使你更加容易前端开发。