JS中的一些数组操作方法

数组常用的方法

  1. push
    作用:向数组末尾增加某一项
    参数:添加的具体项,可以是一项,也可以是多项
    返回值:新数组的长度
    是否改变原数组:改变

    var ary = [1,2,3];
    var res = ary.push(4);
    console.log(ary);   .. [1,2.3.4]
    
  2. unshift
    作用:向数组的开头增加某一项
    参数:添加的具体项,可以是一项,也可以是多项
    返回值:新数组的长度
    是否改变原数组:改变

  3. pop
    作用:删除数组中的最后一项
    参数:无
    返回值:删除的那一项数组的数值
    是否改变原数组:改变

  4. shift
    作用:删除数组中的第一项
    参数:无
    返回值:删除的数组的数值
    是否改变原数组:改变

  5. splice
    作用:指定删除数组中的某几项,并可替换新的项
    参数:(n,m,x)

  • n: 指定从索引 n 开始
  • m: 删除 m 个项
  • x: 用 x 替换掉被删除的项 (也可不写)

返回值:返回的是一个数组,存放的是被删除掉的某几个项
是否改变原数组:改变

拓展方法:
删除:指定删除某几项内容,不写x值。就不替换只删除
新增:把x值写成要增加的项,m值是0删除0项,就可增加在n值的指定索引处

  1. slice
    作用:查找出指定的内容,组成一个新数组
    参数:
  • n: 从索引开始(包含起始索引)

  • m: 截止到哪一个索引(不包含截止索引)
    返回值:返回值是一个复制查询到的新数组
    是否改变原数组:不改变

  • 完全复制一个新数组

     ary.slice(0)
     ary.slice()
    
  1. concat
    作用:拼接数组
    参数:数值或则是数组
    返回值:返回拼接之后的新数组
    是否改变原数组:不改变

    	ary=[1, 2, 3, 4]
    	
    	ary1=[1, 2]
    	
    	var ary2 = ary.concat(ary1)
    	ary2=[1, 2, 3, 4, 1, 2]
    
  2. toString
    作用:可以把一个逻辑值转换为字符串
    参数:无
    返回值:返回值是转换后的字符串
    是否改变原数组:不改变

    var ary1=[1,2,3];
    var res=ary1.toString(); // "1,2,3"
    
  3. join
    作用:替换数组的多项连接符,替换后连接成字符串
    参数:连接符
    返回值:返回值是替换连接符后的字符串形式
    是否改变原数组:不改变

  • eval(),可以计算成立的算法等式,如字符串数据替换成 + 号连接符进行计算
  1. reverse 颠倒数组
    作用:把数组倒过来排序
    参数:无
    返回值:返回值是倒排序后的新数组
    是否改变原数组:改变

  2. sort 大小排序
    作用:给数组进行排序
    参数:无/函数
    返回值:返回值是排序后的新数组
    是否改变原数组:改变

    [参数是无],如果sort没有写参数的话,只能准确排序10以下或者相同位数的数值

    [参数是函数]:

    return a-b  升序
    return b-a  倒数
    
    var ary = [1,22,4,3,55,7,6];
            ary.sort(function(a,b){
                //return a-b;  //升序  由小到大排序
                return b-a;    //倒序  由大到小排序
            });
            console.log(ary);
    
  3. indexOf / lastIndexOf
    作用:获取某项在数组中首次出现/最后出现的 索引(也可以用来是否包含某项)
    参数:(n,m)
    参数:

  • n : 检测的项

  • m : 如果是indexOf 的话,就是从索引m开始检索。如果是lastIndexOf 的话,就是从索引m停止检索
    返回值:-1或者具体的索引值, -1就是找不到指定的值
    是否改变原数组:不改变

     var ary=[1,2,3,4,1,55,1];
        //检测1这个项目在数组ary 中首次出现的位置
    
        ary.indexOf(1); //0
        //从索引2开始,检测1这个项目在数组中首次出现的位置
        ary.indexOf(1,2); //4
        
        // 检测1这个项目在数组中最后一次出现的索引
        ary.lastIndexOf(1);
        // 检测1这个项目在数组中最后出现的索引,在索引5的位置停止检测
        ary.lastIndexOf(1,5)
        
        //如果此项在数组中没有出现,返回值就是-1
        ary.indexOf(66)===>-1
    
  1. includes
    作用:检测数组中是否包含某一项
    参数:指定检测的具体项
    返回值:布尔值 ture就是包含,不包含就是false
    是否修改原数组:不修改

  2. forEach 遍历数组
    作用:遍历数组的每一项和索引值
    参数:函数, 函数两个形参,item和index
    返回值:undefined
    是否修改原数组:不修改

         var ary = [11,12,13,14,15];
         var res = ary.forEach(function(item,index){
             // 遍历数组的每一项值和各项所对应的索引值
             console.log(item,index); // 
             // 即使写return,返回值也是undefined
         });
    
  3. map 映射遍历
    作用:把一个数组可以映射成一个新的数组
    参数:函数
    返回值:映射后的新数组
    是否修改原数组:否

    var ary = [11,12,13,14,15];
    var res = ary.map(function(item,index){
        	// 遍历数组的每一项值和各项所对应的索引值
        	console.log(item,index); // 
        	return item; 
     });
    

  • 关于map的返回值
		var ary = [11,12,13,14,15];
        var res = ary.map(function(item,index){
            return item+1;
        });

遍历到的每一项值都会自身加1,然后返回出去
在这里插入图片描述
。。。。。。。。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值