数组的一些常用方法

数组的一些常用方法

  • push
    作用:向数组的末尾添加一项新的内容
    参数:需要添加的内容(可以是一个,也可以是多个)
    返回值:新增后数组的长度
    原数组是否改变:是

    let arr=['张三','李四','王五'];
    arr.push("赵六") =>4
    console.log(arr) =>['张三','李四','王五','赵六']
    
  • pop
    作用:删除数组最后一项内容
    参数:无
    返回值:被删除的那一项
    原数组是否改变:是

    let arr=['张三','李四','王五'];
    arr.pop() => '王五'
    console.log(arr) =>['张三','李四']
    
  • shift
    作用:删除数组第一项内容
    参数:无
    返回值:被删除的元素
    原数组是否改变:是

    let arr=['张三','李四','王五'];
    arr.shift() => '张三'
    console.log(arr) =>['李四','王五']
    
  • unshift
    作用:向数组的首位添加一项新的内容
    参数:添加的内容
    返回值:新增后数组的长度
    原数组是否改变:是

    let arr=['张三','李四','王五'];
    arr.unshift() => '赵六'
    console.log(arr) =>['赵六','张三','李四','王五']
    
  • toString
    作用:将数组转化为字符串
    参数:无
    返回值:数组中用逗号分隔的每一项
    原数组是否改变:否

    let arr=['张三','李四','王五'];
    arr.toString() =>"张三,李四,王五"
    console.log(arr) =>['张三','李四','王五']
    
  • join
    作用:这个方法和toString类似,也是将数组转化为字符串,只不过这个方法可以在字符串之间用符号拼接
    参数:需要拼接的字符
    返回值:转换后的字符串
    愿数组是否改变:否

    let arr=[1,2,3];
    arr.join() =>"1,2,3"
    arr.join("+") =>"1+2+3"
    

    注意:这个方法用来做数学运算还是很方便的,Eg:

     let arr=[1,2,3];
     console.log(eval(arr.join("+"))) =>6    
     `* eval函数可计算某个字符串,并执行其中的的 JavaScript 代码` 
    
  • concat
    作用:用来合并两个或多个数组,生成一个新的数组
    参数:需要合并的数组或值
    返回值:合并后的数组
    原数组是否改变:否

    let arr1=[1,2,3];
    let arr2=[4,5];
    console.log(arr1.concat(arr2)) =>[1,2,3,4,5]
    console.log(arr1) =>[1,2,3]
    
  • reverse
    作用:将数组的顺序倒过来
    参数:无
    返回值:倒过来的新数组
    原数组是否改变:是

    let arr=[1,2,3];
    arr.reverse() =>[3,2,1]
    console.log(arr) =>[3,2,1]
    
  • sort
    作用:将数组排序
    参数: 无参的时候进行普通排序,默认升序,有参的时候可改变排序方式
    返回值:排序后的数组
    原数组是否改变:是

    let arr1=[1,3,2,4];
    arr1.sort() =>[1,2,3,4]
    console.log(arr1) =>[1,2,3,4]
    

    注意:这个方法会先将数组中的每一项转化成字符串,然后字符串进行排序,即便数组中的每一项都是数字,也会先转化成字符串再排序
    Eg:

    let arr= [1,2,12,3];
    arr.sort(); =>[1,12,2,3]
    
    `* 解决方案是sort参数传一个函数,该函数有两个参数a和b,a-b表示升序,反之为降序`
    let arr=[1,2,12,3];
    console.log(arr.sort(function(a,b){
      return a-b
    })) =>[1, 2, 3, 12]
    
  • splice
    作用:基于splice可以实现很多功能
    1⃣️:删除数组中指定位置的内容
    2⃣️:向数组中指定位置添加一项新内容
    3⃣️:修改数组中指定位置的内容

    一:从数组中删除元素
    语法:arr.splice(m,n),从索引m开始(包含m),删除n项内容
    注意:如果第二个参数不写就表示删除到末尾
    例如:
    let arr=[1,2,3,4,5,6];
    arr.splice(1,2) =>[2,3] 这里的1表示索引,2表示个数,所以从索引1处开始,包含索引为1的内容,删除2项内容
    console.log(arr) =>[1, 4, 5, 6]

    二:从数组中添加元素
    语法:arr.splice(n,0,x,…),从索引为n处开始删除0项内容,把x或者更多需要插入的内容插入到数组中索引为n的前面 这里的n表示数组的索引,0表示删除的项数,x表示要插入的内容,...表示要插入的更多内容
    例如:
    let arr=[‘张’,‘李’,‘王’,‘赵’,‘钱’,‘蔡’,‘姜’,‘张’]
    arr.splice(1,0,‘小风’,‘小飞’) =>[] 因为删除了0项,所以返回值为空数组
    arr =>[‘张’,‘小风’,‘小飞’,‘李’,‘王’,‘赵’,‘钱’,‘蔡’,‘姜’,‘张’]

    三:从数组中修改元素
    语法:arr.splice(n,m,x,…) 修改的原理是把原来的内容删除掉,替换成新的内容
    例如:
    let arr=[‘张’,‘李’,‘王’,‘赵’,‘钱’,‘蔡’,‘姜’,‘张’]
    arr.splice(1,2,‘小李’,‘小王’) =>[‘李’,‘王’]
    arr =>[‘张’,‘小李’,‘小王’,‘赵’,‘钱’,‘蔡’,‘姜’,‘张’]

  1. slice
    作用:在一个数组中,按照条件查找出数组中部分的内容
    语法:arr.slice(n,m) 表示从索引n处,查找到m处(包含索引)
    参数:

    starend
    必传,表示从索引处位置开始截取,包含该索引处内容,如果为负数,就是数组末尾开始截取非必传,如果没传,表示从数组指定索引处截取到数组最后一项,如果第二个参数传了,比如传了2,那么表示截止到索引2处的位置,不包含2

    返回值:查找出内容的新数组
    原数组是否改变:否

    let arr=[1,2,3,4,5,6,7,8,9]
    arr.slice(2,3) =>[3]  `这里第二个参数为3,不包含索引为3的内容`
    arr.slice(2)  => [3, 4, 5, 6, 7, 8, 9]
    
  2. indexOf(es5新增)
    作用:返回某个指定的字符串值在字符串中首次出现的位置
    参数:

    starend
    必传,规定需检索的字符串值表示从什么位置开始查找,如果只有一个参数,默认从数组开始位置查找,返回找到元素的第一个索引,如果没有找到就返回-1

    返回值:查找到元素的索引
    原数组是否改变:否

    let list=[1,2,3,2,5,2]
    console.log(list.indexOf(2))  =>1
    
  3. lastIndexOf(es5新增)
    作用:从数组尾部开始寻找,找到指定元素最后一次出现的位置,并返回索引,如果只有一个参数表示从数组最后一位开始寻找,没有找到就返回-1
    参数:和indexOf一样
    原数组是否改变:否

    let list=['张','李','王','赵','钱','蔡','姜','张']
    list.lastIndexOf('张')  =>7
    list  =>['张','李','王','赵','钱','蔡','姜','张']
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值