数组的方法

75 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第2天,点击查看活动详情

常用的数组

join()

将一个数组转为字符串,返回的是一个字符串,也可以说它是split的逆操作

<script>
    let arr = ["张三","李四","王五"] 
    alert(arr.join(","))  //张三,李四,王五
    console.log(arr.join("|")); // 张三|李四|王五
  </script>

split()

是把一串字符(根据某个分隔符)分成若干个元素存放在一个数组里 即切割成数组的形式

 <script>
    //let arr = "12+10+8" 
    let arr = "王五+赵四"
    let res = arr.split("+")
    console.log(res); //['王五','赵四'] ['12','10','8']
  </script>

sort()

对数组进行排序

 <script>
    let arr = [10,20,30,5,8,4]
    let  arr1 =  arr.sort(function (a,b) {
      //从小到大
      return a-b
      // 从大到小
      //return b-a
    })
    console.log(arr1);
  </script>

return a-b 是从小到大排序

从小到大排序.png

return b-a 是从大到小排序

从大到小.png

unshift()

在数组前面添加一个或者多个数组元素,返回的是新的数组长度

push()

在数组的最后面添加一个或多个数组元素,返回数组的最新长度

 <script>
    let arr = [10,20,30] //创建一个数组
    let str = arr.push(40,50) 
    console.log(str); // 5
  </script>

pop()

删除数组的最后一项,同时减少数组的length值,返回被删除的项

<script>
   let arr = [10,20,30]
   let str = arr.pop()  // 取最后一项
   console.log(str);    // 30
   console.log(arr.length);  // 2
  </script>

shift()

删除数组的第一项,同时减少数组的length值,返回被删除的项

splice()

插入,删除或替换数组的元素 常用修改原来数组的内容

传入三个参数,分别是开始位置、0(要删除的元素数量)、插入的元素 ,返回的是一个空数组

 <script>
    let arr = [10,20,30] //创建一个数组
    let res = arr.splice(1,0,5,8)
    console.log(arr);  // 10,5,8,20,30
    console.log(res);  // [] 空数组
  </script>

concat()

连接数组

 <script>
    let arr = [10,20,30] //创建一个数组
    let res = arr.concat(1,"code",[5,8,"red"])
    console.log(arr);  // 10,20,30
    console.log(res);  // 10,20,30,1,'code',5,8,'red'
  </script>

查找元素的方法:indexOf() includes() find()

indexOf()

索引值/下标 返回要查找的元素在数组中的位置,如果没找到则返回-1

 <script>
    let arr = [10,20,30,4,2,8] //创建一个数组
    console.log(arr.indexOf(20));  // 1
     console.log(arr.indexOf(5));  // -1
  </script>

includes

查看这个数组里有没有包含所需的元素,找到返回true,否则false

 <script>
    let arr = [10,20,30,4,2,8] //创建一个数组
    console.log(arr.includes(20));  // true
    console.log(arr.includes(5));  // false
  </script>

find()

返回第一个匹配的元素 find()对于空数组,函数是不会执行的,如果没有符合条件的元素返回undefined 第一个参数必需,代表当前元素,index:当前元素的索引值,arr:当前元素所属的数组对象

  <script>
    let arr = [
    { name : "张三" ,age : 18},
    {name : "李四" ,age : 20 }
    ] 
     const obj = arr.find((value ,index ,array) => value.age >19 ) 
     console.log(obj);  // name : '李四' ,age : 20
  </script>

Array.from()

将伪数组转换为真实的数组

伪数组跟真实数组的区别 在于 伪数组只有数组的长度,下标,但是没有数组的方法