zoukankan      html  css  js  c++  java
  • js数组方法总结

    一、构造函数

    var a1 = new Array()

    二、字面量

    var a1 = []

    三、获取数组的长度:

    a1.length

    四、栈方法

    pop从数组index值最大的删除

    push从数组index值最大的增加

    pop和push方法能使我们像堆栈那样先入后出的使用数组

    五、队列方法

    shift方法可以删除数组index值最小的那个元素

    unshift向数组头部添加一个函数

    shift和和push方法可以模拟一个队列先入先出

    六、splice方法

    1、删除:指定前2个参数,可以删除元素,同样会带来索引调整以及length调整

    var a = new Array(1,2,3,4,5)

    console.log(a.splice(1,3))//[2,3,4]

    console.log(a)//[1,5]

    2、插入:方法的第二个参数为0,第三个参数 以及后面的内容写要插入的参数

    var a = new Array(1,2,3,4,5)

    a.splice(1,0,21,22,23)

    console.log(a)//[1,21,22,23, 2,3,4,5]

    3、替换:方法的第二个参数为不为0,第三个参数 以及后面的内容写要替换的参数

    var a = new Array(1,2,3,4,5)

    a.splice(1,3,21,22,23)

    console.log(a)//[1,21,22,23,5]

    七、join方法

    作用是把数组元素(对象调用其toString()方法)使用参数作为连接符连接成一字符串,不会修改原数组内容

    var a = new Array(1,2,3,4,5)

    console.log(a.join(','))//1,2,3,4,5

    console.log(a.join(' '))//1 2 3 4 5

    八、slice方法

    slice方法用于返回数组中的一个片段或者子数组,如果只写 一个参数,返回参数到数组结束的部分,如果出现负数,则从数组尾部开始计数,如果startd大于end返回空数组(返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素)

    var a = new Array(1,2,3,4,5)

    console.log(a.slice(1,3))//2,3

    console.log(a.slice(1,2))//2

    console.log(a.slice(2,1))//[]

    注意:如果什么参数都没有,就会返回一个数组,里面的元素跟执行之前一样,不会增加也不会减少。所以可以借助此特点将类数组的转成数组

    例子:var newArry = Arry.prototype.slice.call(类数组)

    九、concat方法

    concat方法用于拼接数组,a.concat(b)返回一个a和b共同组成的新数组,同样不会修改任何一个原始数组,也不会递归数组内部数组

    var a = [1,2]

    var b = [3,[4,5]]

    var c = [6,7]

    console.log(a.concat(b))//[1,2,3,[4,5]]

    console.log(a.concat(b,c))//[1,2,3,[4,5],6,7]

    console.log(a.concat(b,c,8,[9,10]))//[12,3,[4,5],6,7,8,9,10]

    十、sort方法

    sort方法用于对数组进行排序,如果想按照自己定义方式排序,可以传一个排序方法进去

    var a = new Array(11,10,9,8,7)

    a.sort(function(a1,a2){

      return a1-a2

    })

    console.log(a)//7,8,9,10,11

    十一、Array.isArray(obj)方法

    这是Array对象的一个静态函数,用来判断一个对象是不是数组

    var a = new Array(1,2)

    var b = new Date()

    console.log(Array.isArray(a))//true

    console.log(Array.isArray(b))//false

    十二、.indexOf方法

    这两个方法用于查找数组内指定元素位置,查找到第一个后返回其索引,没有查找到返回-1,indexOf从头至尾搜索,lastIndexOf反向搜索

    var a = [1,2,3,4,5]

    a.indexOf(2)//1

    a.indexOf(6)//-1

    十三、.forEach(element, index, array)方法

    遍历数组,参数为一个回调函数,回调函数有三个参数:(1当前元素 2当前元素索引值 3整个数组

    var a = [1,2,3,4,5]

    a.forEach(function(e,i,array){

      array[i] = e+1

    })

    console.log(a)//[2,3,4,5,6]

    十四、.every(function(element, index, array))

    .some(function(element, index, array))

    回调函数返回一个布尔值

    every是所有函数的每个回调函数都返回true的时候才会返回true,当遇到false的时候终止执行,返回false

    some函数是存在有一个回调函数返回true的时候终止执行并返回true,否则返回false

    空数组上调用every返回true,some返回false

    var a = [1,2,3,4,5,6]

    console.log(a.every(function(e,i,array){

      return e < 5

    }))//false

    console.log(a.some(function(e,i,array){

      return e > 4

    }))//true

    十五、.map(function(element))

    与forEach类似,遍历数组,回调函数返回值组成一个新数组返回,新数组索引结构和原数组一致,原数组不变

    var a = [1,2,3,4,5,6]

    console.log(a.map(function(ele){

      return ele * ele

    }))//[1,4,9,14,25,36]

    console.log(a)//[1,2,3,4,5,6]

    十六、.filter(function(element))

    返回数组的一个子集回调函数用于逻辑判断是否返回,返回true则把当前元素加入到返回数组中,false则不加

    var a = [1,2,3,4,5,6]

    console.log(a.filter(function(ele){

      return ele % 2  == 0

    }))//[2,4,6]

    十七、reverse()

    reverse() 方法用于颠倒数组中元素的顺序,该方法会改变原来的数组,而不会创建新的数组。

    var abb = ['a','b','c','d','e','f']
    abb.reverse()
    console.log(abb)//["f", "e", "d", "c", "b", "a"]
  • 相关阅读:
    LeetCode-Minimum Path Sum
    LeetCode-Validate Binary Search Tree
    LeetCode-Recover Binary Search Tree
    LeetCode-Valid Parentheses
    LeetCode-Generate Parentheses
    LeetCode-4Sum
    BZOJ 2295: [POJ Challenge]我爱你啊
    BZOJ 2725: [Violet 6]故乡的梦
    BZOJ 3672: [Noi2014]购票
    BZOJ 4327:[JSOI2012]玄武密码
  • 原文地址:https://www.cnblogs.com/liumingwang/p/6707758.html
Copyright © 2011-2022 走看看