数组的方法有哪些

1.map:遍历数组,返回回调返回值组成的新数组

         var animal = [
            { name: '狮子', age: 3 },
            { name: '老虎', age: 4 },
        ]
        var result2 = animal.map((item) => {
            return item
        })
        console.log(result2) 
        //0: {name: '狮子', age: 3}
        //1: {name: '老虎', age: 4}

2.filter过滤

 //filter
        var fruits = ["苹果", '香蕉', '橘子']
        var result5 = fruits.filter((item) => {
            return item != '苹果'
        })

        console.log(result5) //香蕉,橘子

需要注意的是filter函数存在一个隐式转换机制,我们在筛选数组里面的元素时,符合条件表达式的元素会被filter函数默认转换成true并通过return值返回并添加到一个新的数组当中,而不满足true

,即默认被转换为false的元素会自动的过滤掉,例如:

var arr = [1,2,3,45,65,87,456,0,'',false,NaN,undefined,null]
        var str = arr.filter(function(v) {
           return v 
            
        })
        console.log(str)    -->输出[1, 2, 3, 45, 65, 87, 456]

 3. some(一真则真)/every(一假则假)


        var flowers = [
            { name: '月季', num: '10' },
            { name: '玫瑰', num: '99' },
        ]
        var result = flowers.every(function (flower) {
            return flower.num > 10
        })
        console.log(result) //false

        var result1 = flowers.some(function (flower) {
            return flower.num > 10
        })
        console.log(result1)//true

4.join 通过指定连接符生成字符串


        var num = [1, 2, 3]
        var result4 = num.join('/')
        console.log(result4)  //输出:1/2/3

5.sort/reverse 排序和反转数组 这两个皆改变原数组

      //reverse 
        var num = [12, 3, 45, 33]
        var result = num.reverse()
        console.log(result) //[33,45,3,12]
        console.log(num)//改变了原数组 [33,45,3,12]

     //sort
         var num = [12, 3, 45, 33]
        function compare(a, b) {
            if (a > b) {
                return 1
            } else if (a < b) {
                return -1
            } else {
                return 0
            }
        }
        var result = num.sort(compare)
        console.log(result) //[3, 12, 33, 45]
        console.log(num)// [3, 12, 33, 45]

6.push/pop:数组末尾推入和弹出 改变原数组,

        var subject = ['Math', 'Biology', 'Geography']
        var result1 = subject.push('PE')
        console.log(result1)//4 末尾添加,返回数组长度
        console.log(subject)//['Math', 'Biology', 'Geography', 'PE']

        var result2 = subject.pop('PE')
        console.log(result2)//PE 末尾弹出 返回操作项
        console.log(subject)// ['Math', 'Biology', 'Geography']

7.unshift/shift 数组头部推入和弹出,推入返回长度,弹出返回操作项

        var subject = ['Math', 'Biology', 'Geography']
        var result1 = subject.unshift('PE')
        console.log(result1)//4
        console.log(subject)// ['PE', 'Math', 'Biology', 'Geography']

        var result2 = subject.shift('PE')
        console.log(result2)//PE
        console.log(subject) //['Math', 'Biology', 'Geography']

总结:不管数组头部推入还是数组尾部推入均返回数组长度,不管数组头部弹出还是数组尾部弹出均返回操作项,即弹出的是谁7=

8.concat连接数组,两个或多个

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

 9.slice(start,end) 返回截断后的新数组,但不改变原数组

        var a = [1, 2, 3]

        var result3 = a.slice(0, 2) //下标值前闭后开
        console.log(result3)//[1,2]
        console.log(a)//[1,2,3]

10.splice(start,number,value_) :返回删除元素组成的数组,value为插入项,改变原数组

11.indexOf/lastIndexOf(value,fromIndex):查找数组项,返回对应的下标

        
        var a = [1, 2, 3, 3]
        var result3 = a.indexOf(3) //2
        console.log(result3) //不改变原数组 [1,2,3,3]

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值