JS数组常用方法

目录

数组方法较多,就举例出来几种常用的方法以:
1.方法名 2.方法作用 3.返回值 4.原有数据是否被改变
这四个角度以代码的形式直接来看吧!

      // 先创建一个数组
        var arr = [1, 2, 3, 4, 5]

        1.//join() 就是把数组转换成字符串,然后给他规定个连接字符,默认的是逗号。  不改变原数组
        console.log(arr.join('-'));//1-2-3-4-5
        console.log(arr);//(5) [1, 2, 3, 4, 5]

        2.//push() 末尾添加  改变原数组  返回添加后的length
        console.log(arr.push(6, 7));//7
        console.log(arr);//(7) [1, 2, 3, 4, 5, 6, 7]

        3.//pop() 末尾删除  改变原数组 返回被删除的元素
        console.log(arr.pop());//7
        console.log(arr);//(6) [1, 2, 3, 4, 5, 6]

        4.//shift() 头部删除   改变原数组 返回被删除的元素
        console.log(arr.shift());//1
        console.log(arr);//(5) [2, 3, 4, 5, 6]

        5.//unshift() 头部添加  改变原数组  返回添加后的length
        console.log(arr.unshift(1));//6
        console.log(arr);//(6) [1, 2, 3, 4, 5, 6]

        6.//sort() 排序  改变原数组  返回排序之后的新数组
        var arr1 = [8, 5, 93, 3, 0, 22]
        console.log(arr1.sort((a, b) => (a - b)));//(6) [0, 3, 5, 8, 22, 93]
        console.log(arr1);//(6) [0, 3, 5, 8, 22, 93]

        7.//reverse() 反转数组项的顺序  改变原数组  返回倒序之后的新数组
        console.log(arr.reverse());//(6) [6, 5, 4, 3, 2, 1]

        8.//splice() 删除、插入和替换  改变原数组  返回改变后的新的数组
        // 删除
        console.log(arr.splice(1));//(5) [5, 4, 3, 2, 1]
        // 插入
        let arr2 = [5, 6, 7, 8, 9]
        let arrAll = arr2.splice(0, 0, 100)//向第一位添加一个数值
        console.log(arr2);//(6) [100, 5, 6, 7, 8, 9]
        let arrAll2 = arr2.splice(-1, 0, 10)//(7) [100, 5, 6, 7, 8, 10, 9] 从最后一位开始向前添加一个数值
        console.log(arr2);
        console.log(arrAll);//[]
        // 替换
        let arr3 = [1, 2, 3, 4, 5, 6]
        let addArr = arr3.splice(0, 1, 100)
        console.log(arr3);//(6) [100, 2, 3, 4, 5, 6]

        9.//forEach() 循环  不改变原数组  参数有value(必选)、index(可选)、arr(可选)数组对象本身、this(可选)、执行回调函数时的
        let arr4 = [1, 2, 3, 4, 5]
        arr4.forEach((value, index) => {
            console.log(value);//返回数组中的各项的值
            console.log(index);//返回各项值的下标
        })
        console.log(arr4);//(5) [1, 2, 3, 4, 5]

        10.//map() 映射  对数组中的每一个元素都进行处理,返回新的数组  不改变原数组
        let arr5 = [1, 2, 3, 4, 5]
        let resArr = arr5.map(item => item * 2)
        console.log(resArr);//(5) [2, 4, 6, 8, 10]
        console.log(arr5);//(5) [1, 2, 3, 4, 5]

        11.//filter() 过滤原数组,返回新数组  不改变原数组
        let filArr = arr5.filter(item => item > 2)
        console.log(filArr);//(3) [3, 4, 5]
        console.log(arr5);//(5) [1, 2, 3, 4, 5]

        12.//concat() 合并多个数组,返回新数组  不改变原数组
        let arr6 = [1, 2, 3]
        let arr7 = [4, 5, 6]
        let arr8 = [7, 8, 9]
        console.log(arr6.concat(arr7, arr8));//(9) [1, 2, 3, 4, 5, 6, 7, 8, 9] 
        console.log(arr6);//(3) [1, 2, 3]

        13.//indexOf() 查找数组中某个元素第一次出现的索引值  不改变原数组
        let arr9 = [1, 2, 3, 4, 3, 2, 1]
        console.log(arr9.indexOf(1));//下标 0
        console.log(arr9);//(7) [1, 2, 3, 4, 3, 2, 1]

        14.//lastIndexOf() 查找数组中某个元素最后一次出现的索引值  不改变原数组
        console.log(arr9.lastIndexOf(2));//下标 5
        console.log(arr9);//(7) [1, 2, 3, 4, 3, 2, 1]

        15.//slice() 拷贝数组元素[两个参数,一个是复制索引开始一个是复制索引结束]  不改变原数组
        console.log(arr9.slice(0, 2));//[1, 2]返回包含下标0和下标1的值,不包含下标2。 包左不包右的形式
        console.log(arr9);//(7) [1, 2, 3, 4, 3, 2, 1]
        
        16.//toString() 数组转换成字符串,并返回结果。 不改变原数组
        console.log(arr9.toString());//1,2,3,4,3,2,1
        console.log(arr9);//(7) [1, 2, 3, 4, 3, 2, 1]

        17.//some() 检测数组中是否存在满足条件的元素[返回值是布尔值]   不改变原数组
        console.log(arr9.some(value => value > 5));//false
        console.log(arr9.some(value => value > 2));//true
        console.log(arr9);//(7) [1, 2, 3, 4, 3, 2, 1]

        18.//Array.isArray() 判断一个元素是否为数组 返回值也是布尔值
        console.log(Array.isArray([]));//true
        console.log(Array.isArray({}));//false
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值