js数组

作者: 美美王子 | 来源:发表于2017-03-08 18:44 被阅读0次

js数组

变量用来存储数据,一个变量只能存储一个内容。如果你想存储多个内容,那么就可以用数组解决,一个数组变量可以存放多个数据,好比一个团,团你有很多人。数组是一个值得集合,每个值都有一个索引号,从0开始,每个索引都有一个相应的值,根据需要添加更多数值。

数组的方法

即对一个或多个数组进行的一系列操作

  • 数组连接方法:concat()方法,用于连接两个或多个数组,返回一个新数组,不改变原来的数组,仅仅返回被连接数组的一个副本。
    语法:arrayObject.concat(array1,array2,...,arrayN)
    用法如下:

      <script type="text/javascript">
        var mya = new Array(3);
        mya[0] = "1";
        mya[1] = "2";
        mya[2] = "3";
        document.write(mya.concat(4,5)+"<br>");
        document.write(mya); 
      </script>
    

返回结果:

    1,2,3,4,5
    1,2,3
  • 指定分隔符连接数组元素方法:join()方法,该方法用于把数组中的所有元素放入一个字符串,元素是通过指定的分隔符进行分隔。
    语法:arrayObject.join(分隔符(默认为逗号));
    用法:

      <script type="text/javascript">
        var myarr = new Array(3)
        myarr[0] = "I";
        myarr[1] = "love";
        myarr[2] = "JavaScript";
        document.write(myarr.join("."));
      </script>
    

运行结果:

    I.love.JavaScript
  • 颠倒数组元素顺序:reverse()方法,用于颠倒数组中元素的顺序。
    语法:arrayObject.reverse();
    用法如下:

      <script type="text/javascript">
        var myarr = new Array(3)
        myarr[0] = "1"
        myarr[1] = "2"
        myarr[2] = "3"
        document.write(myarr + "<br />")
        document.write(myarr.reverse())
      </script>
    

运行结果:

    1,2,3
    3,2,1
  • 选定元素:slice()方法,该方法可从已有的数组中返回选定的元素。
    语法:arrayObject.slice(start,end)

    • 参数说明:
      start,必需,规定从何处开始选取。如果为负数,那么它规定从数组尾部算起的位置,即:-1为最后一个元素,-2为倒数第二个元素,以此类推。end,可选,规定从何处结束选取。该参数是数组片段结束处的数组下标(不包含该下标所指元素)。如果没有指定参数,那么切分的数组包含从start到数组结束的所有元素。如果为负数,那么它规定从数组尾部算起。该方法不会修改数组,而是返回一个子数组。
      注意:
      String.slice()与Array.slice()相似。
      用法如下:

        <script type="text/javascript">
          var myarr = new Array(1,2,3,4,5,6);
          document.write(myarr + "<br>");
          document.write(myarr.slice(2,4) + "<br>");
          document.write(myarr);
        </script>
      

运行结果:

        1,2,3,4,5,6
        3,4
        1,2,3,4,5,6
  • 数组排序:sort()方法,该方法用于使数组中的元素按照一定的顺序排序。
    语法:arrayObject.sort(方法函数)

    • 参数说明:可选,规定排序顺序,必须是函数。如果不指定<方法函数>,则按unicode码顺序排列:myArray.sort(sortMethod);。该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数a和b,起返回值如下:
      若返回值 <= -1,则表示A在排序后的序列中出现在B之前。
      若返回值 > -1 && < 1,则表示A和B具有相同的排列顺序。
      若返回值 >= -1,则表示A在排序后的序列中出现在B之后。
      例子:
          function sortNum(a,b) {
          return a - b;
         //升序,如降序,把“a - b”该成“b - a”
        }
         var myarr = new Array("80","16","50","6","100","1");
          document.write(myarr + "<br>");
          document.write(myarr.sort(sortNum));

运行结果:

80,16,50,6,100,1
1,6,16,50,80,100
  • 数组元素删除(数组拼接):splice()方法,用于删除数组中从特定位置开始的元素,返回删除的值,会修改原数组。
    语法:arrayObject.splice(start,end,添加的项...)

    • 参数说明:start,必需,规定从何处开始删除。数字为元素下标(删除值包括该下标)。
      end,可选,表示删除的数目。
      splice()方法还可以添加元素,因此称为字符串拼接。

例子如下:

var arr=[1,2,3,4,5];
arr.splice(2);//returns [3,4,5]
arr;//[1,2]

var arr=[1,2,3,4,5];
arr.splice(2,2);//returns [3,4]
arr;//[1,2,5]

var arr=[1,2,3,4,5];
arr.splice(1,1,"a","b");//returns [2]
arr;//[1,"a","b",3,4,5]
  • 数组遍历:forEach()方法,用于遍历数组。不会修改原数组。
    语法:arrayObject.forEach(function(x,index,a(可选){})

    • 参数说明:x,表示数组任意的元素,index表示元素的索引值,a表示指向数组,返回值为布尔值。
      例子如下:

        var arr=[1,2,3,4,5];
        arr.forEach(function(x,index,a){
        console.log(x + "|" +index +"|" + (a===arr));//console.log打印数据,相当于C语言里的printf
        });
      

运行结果:

        1|0|true
        2|1|true

以此类推

  • 数组映射:map()方法,该方法用于对每一个数组元素进行操作,同样不会修改原数组。
    语法:arrayObject.map(function(x){});
    例子:

      var arr=[1,2,3];
      arr.map(function(x){
      return x+10;
      });//return [11,12,13]
      arr;//[1,2,3]
    
  • 数组过滤:filter()方法,用于筛选一些我们需要的数组元素。不会修改原数组。
    语法:arrayObject.filter(function(x,index){})
    参数说明:x,表示数组任意的元素,index表示元素的索引值。
    例子:

      var arr=[1,2,3,4,5,6,7,8,9,10];
      arr.filter(function(x,index){
        return index%3===0||x>=8;
      });
    

运行结果:

    [1,4,7,8,9,10]
  • 数组判断:every()和some()方法,用于判断数组元素是否满足条件,返回布尔值,与every()不同的是,some()表示只要有一个元素满足条件就返回true。

  • reduce()和reduceRight()方法,用于数组元素之间的两两比较,最终得到一个值(把数组聚合成一个结果),如:找最大值,求和。而reduceRight()表示从右边开始两两比较。

  • 数组检索:indexOf()和lastIndexOf()方法,用于检索每个元素在数组中的索引值。lastIndexOf()表示从后往前检索。
    语法:arrayObject.indexOf(x,start),arrayObject.lastIndexOf(x,start)

    • 参数说明:x,表示需要检索的元素,start表示从何处开始检索(下标值),如果start为负数表示从倒数第几个元素开始检索。
  • 判断某个值是否是数组:Array.isArray()

  • 转换方法:toString()等。

  • 栈方法:push()和pop()

相关文章

  • js 数组链接concat,和数组转字符串join,字符串转数

    js 数组链接用concat js 数组转成字符串 js 字符串转数组

  • js数组题目

    js面试题 js数组 一、按要求分割数组 将"js,数组,分类"字符串数组以/分割 for循环累加 join()把...

  • js 数组

    js 中数组的长度发生改变,数组就真的发生改变,快速清空数组就让数组长度为0js 数组的方法

  • JS数组以及数组变换

    有关数组 数组对象——一种特殊的对象JS其实没有数组,只使用对象来模拟数组 典型数组和JS数组的区别 典型数组 元...

  • 数组检测

    检测是否是数组: 数组转字符串: 字符串转换数组: js对象转换成js字符串: js字符串转换成js对象:

  • 概念集合

    JS中的数组和Arrary的区别 js中的数组就是array对象

  • JS 数组

    JS 数组是一种特殊的对象,不是真正的数组,它只##是通过对象来模拟数组。 JS 数组的定义 let arr = ...

  • javaScript的数组

    js中没有数组类型 js 中数组是以内置对象的形式存在 数组定义01 var attr = new Array('...

  • 数组

    数组的定义: js:存储多个相同类型数据 ,有序的数据;php数组 1,:索引数组,同js;声明:$arrName...

  • js笔记

    js数组 删除某个元素 js数组是否含有某个元素 判断value为undefined cookie操作

网友评论

      本文标题:js数组

      本文链接:https://www.haomeiwen.com/subject/qjmugttx.html