js数组方法 · 上篇

336 阅读3分钟
  • indexOf() 查找数组中某元素的第一个索引值。[不改变原数组] 如果没有就返回-1

    • 第一个参数为查找的值 第二个参数为查找的起始位
      let arr = [1, 2, 3, 4, 5, 6]
              //查不到返回-1,否则返回索引
             console.log(arr.indexOf(3))//2 
             console.log(arr.indexOf(3, 3))//-1      
             console.log(arr.indexOf(8))//-1
    
  • lastIndexOf() 查找指定元素在数组中的最后一个位置。[不改变原数组]

     let arr = [1, 1, 3, 4, 5, 1];
             console.log(arr.lastIndexOf(1))//5
             console.log(arr.lastIndexOf(1, -2))//1
    
  • join() 把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。返回一个字符串

             let arr = [1, 2, 3, 4]
             let b = arr.join('-')
             console.log(b)//1-2-3-4
             console.log(typeof b)//string    
    
  • pop() 删除并返回数组的最后一个元素

            let arr = [1, 2, 3]
             let deleteitem = arr.pop()//3
             console.log(arr)//[1,2]    
    
  • push() 向数组的末尾添加一个或更多元素,并返回新的长度

             let arr = [1, 2, 3]
             let thelength = arr.push(4)//4
             console.log(arr)//[1,2,3,4]
    
  • reverse() 反转数组 改变原数组

      let arr = [1, 2, 3]
             arr.reverse()
             console.log(arr)//[3,2,1]
    
  • shift() 删除并返回数组的第一个元素

             let arr = [1, 2, 3]
             let deleteitem = arr.shift()//1
             console.log(arr)//[2,3]
    
  • slice() 从某个已有的数组返回选定的元素

    • 拷贝数组元素 [不改变原数组]
    • 两个参数为 复制索引开始 和复制索引结束
            let a = [1, 2, 3, 4]
            let b = a.slice(0, 2)
             console.log(b)//1,2 
            //找数组最后一个元素
            let c = a.slice(-1)
            console.log(c)//4
    
  • splice() 可以实现删除、插入和替换

    • 表达式 arr.splice(index, num, item1, item2, ...);
      //删除元素
         let arr = [1, 2, 3, 4, 5, 6]
         let newArr1 = arr.splice(0, 3)// 删除 arr 的前三个元素
     ​
         let newArr2= newArr.splice(-1, 1)//删除最后一位
      
         //删除并添加 /替换
             let arr = [1, 2, 3, 4]
             let addAndeDelete = arr.splice(0, 1, 6)//[6, 2, 3, 4]
    
  • sort() 对数组的元素进行排序

     ​
             // 默认情况下,不传参数的话,默认按字母升序,若为非字符串,则先调用toString()将元素转化为字符串的 Unicode ,再进行字符串比较
             let arr = [1,2,11,22,"A", "C", "B", "E", "D"];
             arr.sort();
             console.log(arr); //[1,11,2,22,"A","B","C","E","D"]
         
            //数组的升序与降序排序
             let arr = [1, 0, 5, 4, 9, 45, 78, 6, 14, 2];
             arr.sort((a, b) => a - b)  //从小到大
             console.log(arr)//[0, 1, 2, 4, 5, 6, 9, 14, 45, 78]
         
    
  • toString() 把数组转换为字符串,并返回结果 [不改变原数组]

       let arr = ['xiao', 'hao', 'wen', 24]
             let b = arr.toString()
             console.log(b)//xiao,hao,wen,24
    
  • unshift() 向数组的开头添加一个或更多元素,并返回新的长度。

             let arr = [1, 2, 3]
             let thelength = arr.unshift(4)//4
             console.log(arr)//[4,1,2,3 ]  
    
  • valueOf() 返回数组对象的原始值

  • includes() 查找数组是否包含某个元素。[不改变原数组,]

    • 第一个参数为要查找的值 必填

      第二个为查找的起始位置

      返回值 true或false

       let arr = [1, NaN, 100, '42'];
             console.log(arr.includes(1)); //true
             console.log(arr.includes(NaN)); //true
             console.log(arr.includes(1, 3)); //false
     ​
    
  • concat()

    • 连接两个或更多的数组,并返回结果
    • oncat() 方法用于合并两个或多个数组,此方法不会更改现有数组,而是返回一个新数组。
 [1, 2, 3].concat([4, 5], 6, [7, 8]) // -> [1, 2, 3, 4, 5, 6, 7, 8]
  • fill()

    • 当咱们想用一个占位符值填充一个空数组时,可以使用fill方法。如果想创建一个指定数量的null元素数组,可以这样做:
     [...Array(5)].fill(null) // -> [null, null, null, null, null]