javascript数组常用方法

本文介绍了JavaScript中数组的基本操作,包括使用push和unshift添加元素,splice和slice删除元素,reverse反转数组,sort排序,以及toString和join转换数组为字符串。还提到了filter方法用于数组过滤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

添加元素

js常用的数组添加元素方法有push,unshift(两个方法都改变原数组

//arr.push()向数组末尾添加元素,并返回数组的新长度 
      let arr = [1, 2, 3]
        let result=arr.push(4)   
        console.log(arr);//[1,2,3,4]
        console.log(result)//4
 //arr.unshift()向数组末尾添加元素,并返回数组的新长度 
        let arr = [1, 2, 3]
        let result=arr.unshift(0)
        console.log(arr);//[0,1,2,3]
        console.log(result)//4

删除元素

数组常用的删除元素方法有:splice(改变原数组),slice()

splice(index,howmany,item1...itemX)

  • index,必选参数,要删除数组元素的下标,如果是负数,则表示倒数第几个,-1表示数组的最后一个元素

  • howmany,可选参数,表示要删除的个数,为空时,则表示删除从目标元素下标到数组末尾

  • item1...itemX 可选参数,向数组插入元素(向index位置插入)

//splice(i) 当参数只有一个时,表示删除数组下标为i及其以后的元素,如果是负数,则表示倒数第几个
//splice()返回结果就是删除掉的元素,该方法改变原数组
  let arr =[0,1,2,3,4]
  let msg = arr.splice(2)
   console.log(arr);  //[0,1]
   console.log(msg);  //[2,3,4]
//splice(),有两个参数时,第一个参数表示删除数组元素的下标,第二个是 个数(为0,表示不删除)
   let arr =[0,1,2,3,4]
   let msg = arr.splice(2,1)
   console.log(arr);  //[0,1,3,4]
   console.log(msg);  //[2]
//splice() 三个或三个以上参数时,这些参数则进行插入数组(在删除元素下标插入)
      let arr =[0,1,2,3,4]
      let msg = arr.splice(2,1,'hello','hi')
      console.log(arr);//[0,1,'hello','hi',3,4]
      console.log(msg);[2]

slice(start,end)

  • start 必选参数,规定从何开始进行切割,如果是负数,则表示从数组尾部开始算起,-1表示数组的最后一个元素

  • end 可选参数

该方法不会改变原数组,用于切割下标从start(包括)到end(不包括)的数组,返回结果是一个新数组

   let arr = [0,1,2,3]
   let arr2 = arr.slice(1,3)
   console.log(arr);//[0,1,2,3]  原数组没有发送变化,不改变原数组
   console.log(arr2);//[1,2]

该方法也可以进行字符串切割

数组反转

reverse() 该方法改变原数组

  let arr = [0,1,2,3]
  arr.reverse()
  console.log(arr); //[3,2,1,0]

数组排序

sort()该方法改变原数组

    let arr=[3,1,6,5,7]
    arr.sort()
    console.log(arr);//[1,3,5,6,7]  默认是升序排序

sort()方法可以接收一个比较函数,用于决定是升序还是降序

 let arr=[3,1,6,5,7]
    arr.sort(
        function(a,b){
            return a-b
        }
    )
    console.log(arr);//[1,3,5,6,7]  升序排序
  let arr=[3,1,6,5,7]
    arr.sort(
        function(a,b){
            return b-a
        }
    )
    console.log(arr);//[7,6,5,3,1]  //降序排序

还可以根据元素的属性值来进行排序

   const arr=[
        {name:'zs',age:18},
        {name:'ls',age:22},
        {name:'ww',age:20}
    ]
  function sortByAge(property){
    return function(a,b){
        return a[property] - b[property] //按照属性来排序,此时是升序
    }
  }
//[{name: 'zs', age: 18},{name: 'ww', age: 20},{name: 'ls', age: 22}]
console.log(arr.sort(sortByAge('age')));

转字符串方法

一、toString()(不会改变原数组)

js中的toStrig()方法能把数组转换为字符串,并且元素之间用 ',' 隔开

 let arr =['喵喵','火花','水蓝蓝']
 let str=arr.toString()
 console.log(str);  //输出字符串"喵喵,火花,水蓝蓝"

二、join()(不会改变原数组)

 let arr =['喵喵','火花','水蓝蓝']
 let str=arr.join()
 console.log(str);  //输出字符串"喵喵,火花,水蓝蓝"

注意,join()方法可以传参数,可以不传,如果不传,默认将数组之间的元素用 "," 隔开,类似与toString(),当然你可以规定分割符

    let arr =['喵喵','火花','水蓝蓝']
    let str=arr.join("*")
    console.log(str);  //输出字符串"喵喵*火花*水蓝蓝"

数组过滤

es6中新增数组过滤方法

let arr = [1,2,3,14,15]
//1.current——当前值 2.index——当前值下标 3.array——整个数组
let arr2 = arr.filter((current,index,array)=>{
   return current < 10
})
console.log(arr)//[1,2,3,14,15]
console.log(arr2)//[1,2,3]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值