首页 > 其他分享 >js数组操作方法

js数组操作方法

时间:2022-10-21 13:00:43浏览次数:38  
标签:返回 console log 操作方法 js let 数组 mya

js数组操作方法

数组:

常见的一些数组操作:

push、pop、unshift、shift

slice不改变原数组,获取截取出的数组、splice改变原数组,获取截取后的原数组

join、 sort、concat、reverse

ES5中新增:

indexOf 、reduce

forEach不生成新数组,在原数组上更改

map、filter 都可以生成新数组,但filter适合条件语句筛选,map适合对数组进行统一操作

some、every

  • push

    作用:将参数添加到数组的尾部 原数组将会被改变

    返回:数组长度

    let mya = [2,3,4] 
    let len = mya.push(8,2,1) 
    console.log(len);         //6
    console.log(mya);         //[ 2, 3, 4, 8, 2, 1]
    
  • unshifit

    作用:将参数添加到数组的头部 原数组将会被改变

    返回:数组长度

    let mya = [2,3,4] 
    let len = mya.unshift(8,2,1) 
    console.log(len);         //6
    console.log(mya);         //[ 8, 2, 1, 2, 3, 4]
    
  • pop

    作用:将数组的最后一个尾部元素删除 原数组将会被改变

    返回:这个被删除的元素

    let mya = [2,3,4] 
    let len = mya.pop() 
    console.log(len);         //4
    console.log(mya);         //[2,3]
    
  • shift

    作用:将数组的第一个头部元素删除 原数组将会被改变

    返回:这个被删除的元素

    let mya = [2,3,4] 
    let len = mya.shift() 
    console.log(len);         //2
    console.log(mya);         //[3,4]
    
  • slice

    作用:截取数组的某一段 原数组不变

    返回:这个截取出的数组

    let mya = [2,3,4,5,6] 
    let len1 = mya.slice() 
    let len2 = mya.slice(1) 
    let len3 = mya.slice(1,2) 
    console.log(len1);         //[2,3,4,5,6] 参数为空时不截取数组
    console.log(len2);         //[3,4,5,6] 参数为一个时表示从该索引开始截取(保留该索引及该索引之后的数组)
    console.log(len3);         //[2] 两个参数,截取到第二个索引(不包括)
    
  • splice

    作用:去除数组的某一段 原数组改变

    返回:剩余的数组

    let mya = [2,3,4,5,6] 
    let len1 = mya.splice() 
    let len2 = mya.splice(1) 
    let len3 = mya.splice(1,2) 
    console.log(len1);         //[] 参数为空,表示没截取,返回空数组,原数组不变
    console.log(len2);         //[3,4,5,6] 参数为一个时,表示从该索引开始截取(保留该索引及该索引之后的数组)原数组为 [2]
    console.log(len3);         //[3,4] 两个参数,第二个表示截取了几个参数,原数组为[2,5,6]
    
  • reverse

    作用:颠倒数组中元素的顺序 原数组改变

    返回:无返回

    let mya = [2,3,4,5,6] 
    let kk = mya.reverse();    //undefined   原数组为[6,5,4,3,2]  
    
  • sort

    作用:排序 原数组改变

    返回:排序后的数组

    let mya = [2,3,4,5,6] 
    let kk = mya.sort(function(a,b){
    	return a-b;   //从小到大
    });    //[6,5,4,3,2],与原数组相同
    
  • join

    作用:数组转为字符串 原数组不变

    返回:字符串

    let mya = [2,3,4,5,6] 
    let kk = mya.join(".")   //2.3.4.5.6   用给定的字符串进行连接
    
  • concat

    作用:将数组拼接到原数组后面 原数组不变

    返回:新数组

    let mya = [2,3,4,5,6] 
    let kk = mya.concat([1,2,3])   //[2,3,4,5,6,1,2,3]   原数组不变
    

  • ES5中新增数组方法

  • indexOf

    作用:获取某个值在数组中出现的索引值

    返回:索引

    let mya = [2,3,4,5,6] 
    let index = mya.indexOf(2)   //返回0
    //找不到返回-1
    
  • forEach

    作用:遍历数组,改变原数组

    返回:无

    let mya = [2,3,4,5,6] 
    mya.forEach((i,index)=>{
    	//i 当前元素
    	//当前索引
    })
    //注:forEach中不可进行break,continue。因为使用的是回调函数
    
  • map

    作用:遍历数组 不改变原数组

    创建一个新数组

    let mya = [2,3,4,5,6] 
    mya.map((i,index)=>{
    	//i 当前元素
    	//当前索引
    	return i * 2
    })
    
  • filter 推荐有筛选条件(> < )时使用

    作用:滤出一些元素组成一个新数组 不改变原数组

    let mya = [2,3,4,5,6]   
    mya.filter((i,index)=>{
    	return i > 2;
    })    //[3,4,5,6]
    
  • some

    作用:检测数组中是否有一个满足条件

    返回:布尔值

    let mya = [2,3,4,5,6]   
    mya.some((i,index)=>{
    	return i > 2;
    })  //true    有一个满足就为true
    
  • every 与some条件相反

    作用:检测数组中是否全部满足条件

    返回:布尔值

    let mya = [2,3,4,5,6]   
    mya.every((i,index)=>{
    	return i > 2;
    })  //false   
    
  • reduce

    作用:对数组中所有值都执行提供的回调函数,并将该函数的返回值作为累计结果,作为下一次调用的参数

    返回:累计结果

    let mya = [2,3,4,5,6] 
    mya.reduce((total,i,index)=>{
    	return total+i+index;
    }) //返回所有index和元素的和,total是累计结果
    

Vue中封装的对data数组类型更新的方法

通过普通方法对数组数据进行添加,不会同步更新到视图当中

this.list[2] = {id:3,text:'ddd'}

1、以下方法都可以对数组数据进行操作,更新到视图上

  • pop 删除末项
  • push 添加一项
  • shift 删除第一项
  • unshift 添加第一项
  • splice 截取/修改/删除数组元素
  • sort 对数组排序
  • reverse 取反

2、可以通过修改数组引用让vue监听到数组变化

this.list = []

3、通过Vue的set方法进行修改

this.$set(this.list,0,{xxxx:'xxxx'})   //在list[0] 修改
此处可以是对象或数组

标签:返回,console,log,操作方法,js,let,数组,mya
From: https://www.cnblogs.com/ioname/p/16813113.html

相关文章