js中常用的数组方法

155 阅读2分钟
  • .isArray(变量)
    • 返回的是布尔类型,如果是true,则是数组,否则就不是数组
  • .concat([],[],[],......)
    • 产生一个新的数组,原来的数组中的数据是不会改变的
    • 数组拼接
        var a1 = ['1','2','3']
        var b1 = ['4','5']
        arr = a1.concat(b1)
        console.log(arr)
    
  • .push(数据)
    • 向数组的后面追加数据,如果接收这个方法了,结果是追加数据后的数组的长度
        var arr = [1,2,3,4,5]
        var result = arr.push(100)
        console.log(result) // 6
        console.log(arr) // [1,2,3,4,5,100]
    
  • .shift()
    • 删除数组中的第一个数据,返回值是删除后的那个数据值
        var arr = [1,2,3,4,5]
        var result = arr.shift()
        console.log(result) // 1
        console.log(arr) // [2,3,4,5]
    
  • .pop()
    • 删除数组中的最后一个数据,返回值是删除后的那个数据值
        var arr = [1,2,3,4,5]
        var result = arr.pop()
        console.log(result) // 5
        console.log(arr) // [1,2,3,4]
    
  • unshift()
    • 向数组中第一个元素前面插入数据,返回值是插入数据后数组的新的长度
        var arr = [1,2,3,4,5]
        var result = arr.unshift(100)
        console.log(result) // 6
        console.log(arr) // [100,1,2,3,4,5]
    
  • .reverse()
    • 反转数组数据
  • .sort()
    • 排序,但是不稳定
  • .slice(开始的索引,结束的索引)
    • 截取原数组中的数据,然后组成一个新的数组
  • .splice(开始的位置,删除的个数)
    • 返回值是删除后的数据组成的新数组,原来的数组的数据改变了
  • .every()
    • 设置每个元素是否满足条件,都满足则返回true
        var arr = [1,2,3,4,5]
        var result = arr.every((ele,index,array) => {
            if (ele > 10) {
                return true
            }
        })
        console.log(result)
    
  • .map()
    • 设置数组中的元素都执行一次函数,把新的数组存储在一个新数组中
        var arr = [1,2,3,4,5]
        var result = arr.map((item,index) => {
            return item * 2
        })
        console.log(result)
    
  • .some()
    • 只要有一个元素满足条件就返回true
        var arr = [1,2,3,4,5]
        var result = arr.some((item,index) => {
            if (item < 10) {
                return true
            }
        })
        console.log(result)
    
  • .indexof(要查找的数据)
    • 找到了就是索引,找不到就是-1
  • .join('字符串')
    • 数组转字符串
        var arr = ['1','2','3']
        console.log(typeof(arr.join()))
        console.log(arr.join('')) // 若不用','拼接使用这种方式
        console.log(arr.join()) // 默认使用','拼接
    
  • .filter(回调函数)
    • 返回的是符合条件的筛选后的数据,组成的新数组
    • filter参数的解释:1.数组元素,2.索引,3.数组
        var arr = [1,2,3,4,5]
        var result = arr.filter((item, index) => {
            if (item > 1) {
                return true
            }
        })
        console.log(result)
        
        // 对比forEach
        var arr = [1,2,3,4,5]
        var arr1 = []
        arr.forEach((item,index) => {
            if (item > 1) {
                arr1.push(item)
            }
        })
        console.log(arr1)
        
        // 获取函数的参数个数(不要使用箭头函数)
        var arr = [1,2,3,4,5]
        arr.forEach(function (item,index,z) {
            console.log(arguments.length) // 函数的参数个数
            console.log(item+"===="+index+"===="+z)
        })