数组的方法

85 阅读2分钟

七个会修改原数组的方法

  • push
    • 语法: 数组名.push(数据)
    • 作用: 向数组末尾 新增一条数据
    • 返回值: 新增数据后最新的数组长-度
        var arr=[1,5,5,454,54,5,4]
        arr.push("我是push添加的新数据")
        console.log(arr);
        
        
        
  //自定义push
        function push(arr,num) {
            arr[arr.length]=num
            return arr            
        }
        var result=push(arr,"自定义push添加的数据")
        console.log(result);
  • pop

    • 语法: 数组名.pop()
    • 作用: 删除数组末尾最后一个数据
    • 返回值: 被删除的数据
    var arr=[1,5,5,454,54,5,4]

        console.log(arr.pop());
        console.log(arr);
        
        
        // 自定义
        function pop(arr) {
           var unm= arr[arr.length-1]
             delete arr[arr.length-1]
            //arr.length -=1
            
            return unm
        }

        console.log(pop(arr));
        console.log(arr);
  • unshift

    • 语法: 数组.unshift(数据)
    • 作用: 向数组开头, 添加一个数据
    • 返回值: 新增完数据后的一个数组长度
    var arr=[1,5,5,454,54,5,4]
    
      console.log(arr. unshift("新数据"));
      console.log(arr);
    
      //自定义
      function unshift(arr,num) {
          var newarr =[]
          newarr[0]=num
          for (let j = 0; j < arr.length; j++) {
             newarr[j+1]=arr[j]
              
          }
          return newarr.length
      }
      console.log(unshift(arr,"自定义假的新数据"));
    
 *  shift 
     *  删除数组起始位置的元素
     *  返回值是被删除的元素
          ```js
     var arr = [1, 2, 3]
        // arr.shift()
        // console.log(arr);

        function shift(arr) {
            var temp=arr[0]
            for (let i = 0; i < arr.length; i++) {
              arr[i]=arr[i+1]   
            }

            arr.length-=1
           return temp
        }

        var result = shift(arr)
        console.log(result);
  • sort

    • 语法1: 数组名.sort()
    • 作用: 将数组内的数据, 转换为 字符串, 然后一位一位的对比
    • 语法2: 数组名.sort(function (a, b) { return a - b })
    • 作用: 会按照数字的 从小到大
    • 语法3: 数组名.sort(function (a, b) { return b - a })
    • 作用: 和 语法2相反, 从大到小
    • 返回值: 返回一个排序好的数组
    • 注意: sort 使用后能够修改原数组
  • indexOf

    • 语法: 数组名.indexOf(要检查的数据); 数组名.indexOf(要检查的数据, 开始索引)
    • 作用: 从前到后检查该数据第一次在该数组内出现的索引位置
    • 返回值: 如果在数组内找到了该数据, 那么会返回该数据第一次出现的索引位置, 没找到返回 -1
  • splice (作用类似于 剪切)

    • 语法1: 数组.splice(开始索引, 剪切多少个)

    • 功能: 剪切

    • 语法2: 数组.splice(开始索引, 剪切多少个, 数据1, 数据2, 数据3.....)

    • 功能: 将 第三个参数开始到结束的所有内容, 替换你指定的区域内容

    • 返回值: 剪切到的内容

  • reverse

    • 删除数组起始位置的元素
    • 返回值是被删除的元素
  var arr = [1, 2, 3,4]
        // arr.reverse()
        // console.log(arr);

        function reverse(arr) {
            
            for (let i = 0; i < arr.length/2; i++) {
                var temp = arr[i]
              arr[i]=arr[arr.length-1-i]   
              arr[arr.length-1-i] =temp
            }

            
           return arr
        }

        var result = reverse(arr)
        console.log(result);