关于数组的一些方法

来源:互联网 发布:c语言课程设计题目 编辑:程序博客网 时间:2024/05/18 23:54

        在学习javascript的过程中,发现数组这个东西特别特别常用,虽然教学视频和各种js书上已经讲得很详细了,但到真正用到的时候有些方法忘了的话还真懒得翻书去找,< 咯咯,大家是不是和我一样呢?>  这就是我写这篇文章的原因啦,废话不多说,上货~

         首先当然是创建数组啦~  怎么创建这应该是最最基础的了,我就不啰啰了。

<span style="font-size:14px;">      var arr=[1,3,5,4,2];或 var arr=new Array();</span>


         下面开始讲数组的方法:

  1. length();——返回数组的长度。这个方法用的最频繁的是在数组的遍历中(用for循环来进行遍历)。

    <span style="font-size:14px;">arr.length();</span>
  2. 数组中元素的添加与删除 (push和pop可以理解成为栈,shift和unshift可以理解成为队列)

    • push();——从后面给数组添加元素
      <span style="font-size:14px;">arr.push(6,7,8)</span>
    • pop();——从后面删除数组元素(删除的是最后一项)
      <span style="font-size:14px;">arr.pop();</span>
    • unshift();——从前面添加元素
      <span style="font-size:14px;">arr.unshift(-2,-1,0);</span>
    • shift();——从前面删除元素(删除的是第一项)
      <span style="font-size:14px;">arr.shift();</span>

  3. sort();和reverse();——重新排序的方法

    • sort();——正序排序
      <span style="font-size:14px;">arr.sort();alert(arr);   //1,2,3,4,5</span>

      但是,别高兴的太早,正序排序没那么简单,大家都知道计算机其实很傻,你给它 1,2,11,33 这几个数字再调用sort();的时候,它不会从小到大给你排起来,而是返回这样的顺序:1,11,2,33,原因是sort()方法在使用是会调用每个数组项的toString();转型方法,这说明如果我们的数组的成员都是字符串,那么就不用担心这个问题了,可是,如果我们想要给数字进行排序怎么办呢?这就要用到一个函数——比较函数:

      <span style="font-size:14px;">          function bijiao()  {var arr=[1,2,11,33];alert(arr.sort(function (n1,n2){return n1-n2;}));  }  bijiao();  //1,2,11,33</span>

        这个函数中的n1,n2是系统自动传参的,并不需要我们手动传参,这个比较函数返回的是负数、0或者正数,当返回的是负数时说明n1<n2,则n1自动排到n2前面,正数反之。

    • reverse();——倒序排列(此处的倒序并非我们说的给数字从大到小排起来,而是按照在数组里的顺序进行倒序排列)
      <span style="font-size:14px;">var arr=[1,2,11,33,0];alert(arr.reverse())  //0,33,11,2,1</span>
  4. concat();he slice();——操作方法

    • concat();——进行连接的方法
      <span style="font-size:14px;">var arr1=[1,2,3,4,5];var arr2=[6,7,8];alert(arr1.concat(arr2));</span>
    • 未完待续
0 0
原创粉丝点击