js数组方法整理

今天梳理一下有关数组的知识点:


var arr = [1, 2, 3, 4]    // demo


1、pop —— 删除数组最后一个元素,原数组改变

    n = arr.pop()  // 4

    console.log(arr) // [1, 2, 3]


2、push —— 数组末尾加入一个元素,原数组改变

    arr.push(5) // [1, 2, 3, 4, 5]


3、unshift —— 数组头部加入一个元素, 原数组改变 

    arr.unshift(1) // [1, 1, 2, 3, 4]


4、 shift —— 数组头部删除第一个元素, 原数组改变

   var n = arr.shift() // 1

    console.log(arr) // [2, 3, 4]


5、reserve —— 反向排序, 原数组改变

    arr.reverse() // [4, 3, 2, 1]


6、sort —— 数组排序

    var arr = [3,32,1,5,6,4,3]

    arr.sort() // [1, 3, 32, 4, 5, 6]

    这里的排序并没有按照数值大小去排序,而是根据字符编码的顺序进行排序的,可以使用一个排序函数来排序:

    function sortNum (a, b) {

        return a -b

    }

    arr.sort(sortNum) // [1, 3, 3, 4, 5, 6, 32]


7、 indexOf 

    从头部开始查找符合的元素,只要找到一个就停止查找,返回下标,未找到返回-1

    var arr = [1,2,3,2]

    arr.indexOf(2) //  1

    arr.indexOf(6) // -1


8、lastIndexOf 

    从尾部开始查找符合的元素,只要找到一个就停止查找,返回下标,未找到返回-1

    var arr = [1,2,3,2]

    arr.lastIndexOf(2) //  3

    arr.lastIndexOf(6) // -1


9、forEach —— 数组遍历

    var arr = ['a', 'b', 'c']

    arr.forEach((item, index, arr) { 

         console.log(item, index)

    })

    // a,0 

        b,1

        c,2

      forEach遍历和for循环遍历效果是一样的


10、for in 

        遍历是数组的索引,既键名

        可以遍历数组,也可以遍历对象,不推荐使用 for in 遍历数组,因为遍历的顺序可能不是数组内部实际的顺序,推荐遍历对象

        var arr = ["a", "b", "c", 4]

        for (var key in arr) {

            console.log(key, arr[key])  // 0,a 1,b 2,c 3,4

        }

11.for of

    遍历的是数组的值

        var arr = ["a", "b", "c", 4]

        for (var v of arr) {v

            console.log(v)  // "a"  "b" "c" "4"

        }


12、map

       操作数组的每一个元素,返回一个新的数组

            var arr = [1, 2, 3, "",4]

            var _arr = arr.map(item => {

                return item * 2

            })

            console.log(_arr) // [2,3,6,0,8]

        注意,这里空元素返回的是 0 

    如果是数值比较则是返回Boolean值

        var _arr = arr.map(item => {

            return item > 2

        })

       console.log(_arr) // [false, false, true, false, true]

       注意,这里空元素返回的是 false 


13、filter —— 过滤

    遍历数组每一元素,过滤出符合要求的元素,返回一个新的数组

     var _arr = arr.filter(item => {
        return item > 2

    })

    console.log(_arr) // [3, 4]


14、some —— 遍历数组的每一个元素,只要有一个元素符合条件,就返回true,都不满足则返回false

    arr.some(item => {
        return item > 2
    })

    // true

    arr.some(item => {
        return item > 20

    })

    // false


15、every —— 遍历数组每一元素,都满足则返回true,只要有一个元素不满足则返回false

    var arr = [1, 2, 3, "", 4]

    arr.every(item => {

        return item > -1

    })

    // true  这里空值默认为0

    arr.every(item => {
        return item >1

    })

    // false



以上即是我对js数组相关知识的整理,不足之处欢迎指正!


  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值