string和array变量用到的那些函数(下)

三、Array变量函数

    1)arrayObjecr.push(newelement1,newelement2,... ...);

        作用:向指定的数组对象的末尾添加一个或多个元素。该方法直接修改原数组,并返回新数组的长度。

                 该功能与arrayObject.unshift(newelement1,... ...)相对应。后者依次在数组的头部添加元素。

        举例:

             <script>

                  var arr = ["I","am","a","little","lovely","girl"];

                  var num = arr.push("cool");

                  document.write(arr);       //输出I,am,a,little,lovely,girl,cool

                  document.write(num);    //输出7

             </script>

    2)arrayObjecr.slice(start,end);

         作用:从已有的数组中返回指定的数组。start指定选取数组的开头,当为负数时,则直接从末尾开始算起;end指定结束处的数组下标,但是返回时不包括end所对应的元素。end不作限制时,默认从start位置到数组结尾全部截取。

                  该方法不会改变改变原数组,仅仅返回一个新数组。

         举例:

             <script>

                  var arr = ["I","a","little","lovely","girl"];

                  document.write(arr.slice(2,4));   //输出little,lovely

                  document.write(arr);                  //输出I,am,a,little,lovely,girl           原数组不改变

             </script>

   3)arrayObjecr.splice(index,howmany,item1... ...);     

        作用:向数组对象中删除或者添加项目。index指定对原数组进行操作的位置;howmany指定删除的项目个数,为0时则不删除;item指定向数组中添加的项目,如果不填写,表示没有添加。

                 该方法会直接更改原数组,需要区别其和slice()函数的作用。

        举例:

            <script>

                 var arr = ["I","am","a","little","lovely","girl"];

                 document.write(arr.splice(4,0,"lala"));      //输出I,am,a,little,lala,lovely,girl

                 document.write(arr.splice(4,2,"smart"));  //输出I,am,a,little,smart,girl

                 document.write(arr);                               //输出I,am,a,little,smart,girl       原数组发生更改

            </script>

    4)var newArr=arrayObjecr.filter(function(){...});   

        作用:对数组对象中的每个元素执行function中的操作,返回true则保留该元素,返回false则不保留。

                filter()方法不改变原数组

        举例:

            <script>

                 var arr = [2,4,5,6,8,9,11];

                 var arr1 = arr.filter(choose);

                 function choose(element){

                       if(element%2==0)

                            return true;

                       else

                            return false;

                  }

                 document.write(arr1);   //输出2,4,6,8

                 document.write(arr);    //输出2,4,5,6,8,9,11     原数组不变

            </script>

    5)arrayObjecr.sort(sortby());          

        作用:对数组进行排序。sortby是一个函数。函数中不指定参数,则默认按照字符编码(英文字母)排序;若不想指定参数,又想对数字进行排序,建议现将数字转换成字符串。

                 数值比较时,调用参数a和b。返回值<0,a在b前面;返回值>0,a在b后面。

                 该方法直接对原数组修改。 

        举例:

             <script>

                   var arr = [55,66,22,88,33,11,99];

                   document.write(arr.sort(function(a,b){

                           return a-b;           //输出11,22,33,55,66,88,99   对数值进行从小到大排序,可直接返回参数a-b

                   }));  

                   document.write(arr.sort(function(a,b){

                           return b-a;           //输出99,88,66,55,33,22,11  对数值进行从大到小排序,可直接返回参数b-a

                   })); 

             </script>

     6)arrayObjecr.reverse(); 

        作用:反转数组中元素的顺序。

                该方法会直接改变原数组。

        举例:

            <script>

                var str = "hello,world!";

                var arr = str.split("");

                arr.reverse();

                document.write(arr.join(""));    //输出!dlrow,olleh

            </script>

原文地址:https://www.cnblogs.com/May-study/p/5983995.html