美文网首页
JavaScript 数组的一些梳理

JavaScript 数组的一些梳理

作者: Rangzhi | 来源:发表于2019-01-11 18:31 被阅读0次

    数组

    array 是js中的一种数据类型
    形如[0,1,2,3,4,5]
    每一个元素都有它对应的索引(index)也可称为下标
    可按照索引查找到指定元素
    可以通过Array.isArray()来判断一个数据数据是否是数组

    创建数组的方法

    在js中创建数组的方法有
    let arr = [0,1,2,3,4]
    let arr = new array ()
    需要注意的是在js中数组是一种特殊的对象
    所以有一些属性和方法

    数组的属性和方法

    arr.length 获取数组的长度
    length可以用来控制有时候数组的循环
    length-1就是数组最后一个元素的索引

    方法:

    • arr.split()
      括号里接收一个参数以什么为分割
      可以将字符串装换成数组
      方法返回一个新数组不会改变原数组
        let arr = [wo ai ni a ]
        //这个数组中间都有空格所以可以将空格传进去
        let arr1 = arr.split(" ")
        arr1.foreche(function(index){
            cosole.log(index)
            // wo
            // ai
            // ni
            // a
        })
    
    
    
    • 复制数组的方法
      复制数组有两种方法
      浅复制和深复制
      浅复制特别简单

    浅复制

    let arr1 = [1,1,2,4]
    let arr2 =arr1
    console.log(arr2)//[1,1,2,4]
    
    //虽然可以复制但是复制的只是数组的引用地址
    //如果一个数组改变另一个相同地址的数组也会被改变
    //不建议使用
    

    深复制

    function copy(arr1,arr2){
        for(let i=0;i<arr1.length;i++)
        arr2[i]=arr1[i]
    }
    let num = [1,2,3,4,5]
    let copynum = []
    copy(num,copynum)
    console.log(copynum)//[1,2,3,4,5]
    //利用一个空数组来接收
    
    
    • 查找元素
      ** indexof**
      ** lastindexof**
      indexof可以查找一串数组中的元素
      如果有就返回该元素的第一个元素的索引
      如果没有就返回-1
      lastindexof返回最后一个相同元素
    let arr = ["heihei","xixi",1,2,3]
    function soerch(arr,index){
        let Return=arr.indexOf(index)
        if(Return==-1){
            console.log("no have ")
        }else{
            console.log(Return)
            return Return
        }
    }
    soerch(arr,"0") //No hava
    soerch(arr,"heihei")//0
    
    
    • 数组转换为字符串

    join() tostring()
    这两个方法都会返回一个包含数组所有元素的字符串
    各元素之间默认用','分割
    其中join()可以接受一个字符 用传入的字符来分割数组

    let arr = ["wo","shi","ni","baba"]
    let str = arr.toString()
    console.log(str) // "wo,shi,ni,baba"
    console.log(arr.join(" "))//"wo  shi  ni baba"
    
    
    • 拼接和切割数组
      concat() splice()
      concat()可以将两个数组连接起来返回一个新的数组
      arr.concat(arr2)
      splice()将数组切片返回一个新的数组 接受两个参数起始位置的索引,截取长度
      concat不会改变原数组,splice会改变
    let arr = ["wo","shi","ni","baba"]
    let  arr2 = [1,2,3,4]
    let arr3=arr.concat(arr2)
    console.log(arr3)//["wo","shi","ni","baba",1,2,3,4]
    let arr4 = arr3.splice(0,4)//接受两个参数 第一个是截取位置的索引 第二个是长度
    console.log(arr4)//["wo","shi","ni","baba"]
    console.log(arr3)//[1,2,3,4] //原数组被改变了
    
    
    
    • 添加元素
      push() unshift()
      push() 在数组最后依次添加元素
      unshift()在数组最前依次添加元素
    let arr = [1,2,3]
    arr.push(4,5)
    console.log(arr)//[1,2,3,4,5]
    arr.unshift(0,-1)
    console.log(arr)//[0,-1,1,2,3,4,5,]
    
    
    
    • 删除元素
      pop() shift()
      pop()删除末尾最后一个元素
      shift()删除第一个元素
      这两个函数都会将删除的元素返回可以来一个变量来接收
    let arr = [1,2,3]
    console.log(arr.pop())//3
    console.log(arr)//[1,2]
    console.log(arr.shift())//1
    console.log(arr)//2
    

    也可以通过splice进行数组的删除和增加

    let  arr = [1,2,6,7]
    arr.splice(2,0,3,4,5)
    console.log(arr)//从2开始增加3.4.5
    arr.splice(0,3)
    console.log(arr)//[4,5,6,7]
    
    • 排序
      reverse() sort()
      rever()可以将数组进行翻转
      sort可以将数组按照字典进行排序 但是碰到数字类型的就不太好用
      可以写一个函数 sort会按照返回值
    let arr =[5,4,3,2,1]
    arr.reverse()
    console.log(arr) //[1,2,3,4,5]
    let arr1 = [5,6,7,1,2]
    arr1.sort(function(arr1,arr2){
        return arr1-arr2
    })
    console.log(arr1)
    
    
    ```********

    相关文章

      网友评论

          本文标题:JavaScript 数组的一些梳理

          本文链接:https://www.haomeiwen.com/subject/xuqfdqtx.html