数组

作者: lucky_果果 | 来源:发表于2020-01-02 23:23 被阅读0次

    1、创建数组:

    (1) var arr = [1,2,3];或者 arr = [ ]

    (2) var arr = new Array("red","blue");

    (3)var arr  =new Array(3);

    2、数组的长度:arr.length

    3、检测数组

    (1)arr instanceof Array

    特点:该方法限定必须在一个网页或者一个全局作用域。如果一个网页有多个框架,那么该网页就有多个全局环境,每个执行环境的Array构造函数不同。如果把一个数组从一个框架传入另一个框架,则传入的数组与在该框架中创建的数组具有不同的构造函数。

    (2)Array.isArray(arr)

    特点:该方法目的就是确定某个值到底是不是数组,不管它在哪个全局执行环境。

    4、数组转换方法

    (1)arr.valueOf()  返回数组本身

    (2)arr.toString()  返回数组的每项的字符串形式拼接而成的一个以逗号分隔的字符串。

    5、数组操作

    (1)栈:数组尾部添加,尾部删除。(原数组改变)

    arr.push("black")    arr.pop()

    (2)数组:尾部添加,头部书删除。

    arr.push("red","black")    arr.shift()

    (3)数组头部添加

    arr.unshift("red","black")

    6、数组排序

    (1)arr.reverse()   重新排序

    (2)arr.sort();

    特点:将数组的每一项调用toString()方法,然后进行排序。

    因此:为了确保大小顺序排序,

    sort可以接受一个函数作为参数,比较函数接受两个参数

    如果第一个参数应该位于第二个参数之前,则返回负数;如果两个数相等,则返回0;如果第二个参数应该位于第一个参数之前,则返回正数。

    7、操作方法

    (1)slice()  不改变数组的长度

    (2)splice()  改变数组的长度

    (3) indexOf()   

    arr.indexOf("red")  返回red的索引

      (4)lastIndexOf()

    8、迭代

    (1)every() 对数组的每一项运行该给定函数,当该函数的每一项都返回true,则返回true。

             arr.every(function(item, index, array){ return item>3 })

    (2)some() 对数组的每一项运行该函数,只要该函数的一项返回true,则返回true。

    (3) filter() 对数组的每一项运行该函数,返回该函数会返回true的项组成的数组。

    (4) forEach() 对数组的每一项运行该函数,没有返回值

    (5) map() 对数组的每一项运行该函数,返回运行该函数的结果组成的额数组。

    9、归并 reduce() 和reduceRight()

    arr.reduce(function(pre,cur,index,array){ return pre+cur })

    相关文章

      网友评论

          本文标题:数组

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