JavaScript中数组(Array)的常用方法

Array:数组是一个特殊的对象

四个维度学习数组的方法
1.方法的作用
2.方法的参数
3.返回值
4.原有数组是否改变

    var ary=[1,2,3,4];
    console.log(ary);//[1,2,3,4]
  • 1)push( items )
    • ① 向数组的末尾添加项
    • ② 要增加的数组项(a,b)如果是多项用逗号隔开
    • ③ 返回数组的新长度
    • ④ 原有数组改变
     var result = ary.push(5,6);
     console.log(result);//6
     console.log(ary);//[1,2,3,4,5,6]
  • 2)unshift( items )
    • ① 向数组的开头添加项
    • ② 要增加的数组项(a,b)如果是多项用逗号隔开
    • ③ 返回数组的新长度
    • ④ 原有数组改变
     var result = ary.unshift(5,6);
     console.log(result);//6
     console.log(ary);//[5, 6, 1, 2, 3, 4]
  • 3)shift()
    • ① 删除数组的第一项
    • ② null
    • ③ 返回删除的数组项
    • ④ 原有数组改变
     var result = ary.shift();
     console.log(result);//1
     console.log(ary);//[2,3,4]
  • 4)pop()
    • ① 删除数组的最后一项
    • ② null
    • ③ 返回删除的数组项
    • ④ 原有数组改变
     var result = ary.pop();
     console.log(result);//4
     console.log(ary);//[1,2,3]
  • 5)splice( start , deletecount , item)
    • ① 删除数组项

      • 1) splice(n) 从索引n开始删除到末尾
      • 2) splice(n,m) 从索引n开始删除m个
      • 3) splice(n,m,x) 从索引n开始删除m个,并且用x去到删除项的位置
      • 4) splice(n,m,x,y) 从索引n开始删除m个,从参数m后面的所有参数都是用来替换到删除项目的位置
      • 5) shift ⇒ splice(0,1)
      • 6) pop ⇒ splice(length-1,1)
      • 7) push ⇒ splice(length,0,’item’)
      • 8) unshift ⇒ splice(0,0,x)
      • 9) splice(0)⇒ 利用它的返回值可以实现克隆数组的目的
    • ③ 返回删除的数组项组成的新数组
    • ④ 原有数组改变
     var result = ary.splice(1);
     console.log(result);//[2, 3, 4]
     console.log(ary);//[1]

     var result = ary.splice(1,2);
     console.log(result);//[2, 3]
     console.log(ary);//[1, 4]

     var result = ary.splice(1,2,5);
     console.log(result);//[2,3]
     console.log(ary);//[1,5,4]

     var result = ary.splice(1,2,5,6);
     console.log(result);//[2,3]
     console.log(ary);//[1,5,6,4]

     var result = ary.splice(0,1);
     console.log(result);//[1]
     console.log(ary);//[2,3,4]

     var result = ary.splice(ary.length-1,1);
     console.log(result);//[4]
     console.log(ary);//[1,2,3]

     var result = ary.splice(ary.length,0,5);
     console.log(result);//[]
     console.log(ary);//[1,2,3,4,5]

     var result = ary.splice(0,0,5);
     console.log(result);//[]
     console.log(ary);//[5,1,2,3,4]

     var result = ary.splice(0);
     console.log(result);//[1,2,3,4]
     console.log(ary);//[1,2,3,4]
  • 6)slice()
    • ① 从元素组中,复制截取数组

      • 1) slice(0) 克隆数组(从头复制到尾)
      • 2) slice(n) 从索引n开始复制到末尾
      • 3) slice(n,m) 从索引n开始复制到索引m(不包含m)
      • 4) slice(-n) slice支持负数 ⇒ slice(-n+ary.length)
    • ③ 返回复制截取的新数组
    • ④ 原有数组不变
     var result = ary.slice(0);
     console.log(result);//[1,2,3,4]
     console.log(ary);//[1,2,3,4]

     var result = ary.slice(1);
     console.log(result);//[2,3,4]
     console.log(ary);//[1,2,3,4]

     var result = ary.slice(1,2);
     console.log(result);//[2]
     console.log(ary);//[1,2,3,4]

     var result = ary.slice(-1);
     console.log(result);//[4]
     console.log(ary);//[1,2,3,4]
  • 7)concat(arry,arry)
    • ① 删除数组的最后一项
    • ② 要拼接的数组或者数组项,如果是多个用‘,’隔开
    • ③ 返回拼接好的新数组
    • ④ 原有数组不变
     var result = ary.concat([5],[6]);
     console.log(result);//[1,2,3,4,5,6]
     console.log(ary);//[1,2,3,4]
  • 8)join()
    • ① 把数组中的每一项按照指定的分隔符拼接成字符串
    • ② 参数:分割符,如果不写默认是‘,’
    • ③ 返回拼接好的字符串
    • ④ 原有数组不变
     var result = ary.join("+");
     console.log(result);//'1+2+3+4'
     console.log(ary);//[1,2,3,4]
  • 9)reverse()
    • ① 倒序数组
    • ② null
    • ③ 倒序过来后的原有数组
    • ④ 原有数组改变
     var result = ary.reverse();
     console.log(result);//[4, 3, 2, 1]
     console.log(ary);//[4, 3, 2, 1]
  • 10)sort( )

    • ① 按照指定的规则排序
      • 1)升序
        function(a,b) {return a-b};
      • 2)降序
        function(a,b) {return b-a};
    • ③ 返回排好序的数组
    • ④ 原有数组改变
     var result = ary.sort(function(a,b){return b-a});
     console.log(result);//[4, 3, 2, 1]
     console.log(ary);//[4, 3, 2, 1]

以下方法在ie6-8下兼容性不好

  • 11)indexOf()
    • ① 查看数组项在数组中第一次出现的索引位置
    • ② 要查看的数组项
    • ③ 如果出现就返回对应的索引位置。否则返回-1
    • ④ 原有数组不变
     var result = ary.indexOf(2);
     console.log(result);//1
     console.log(ary);//[1, 2, 3, 4]
  • 12)lastIndexOf()
    • ① 查看数组项在数组中最后一次出现的索引位置
    • ② 要查看的数组项
    • ③ 如果出现就返回对应的索引位置。否则返回-1
    • ④ 原有数组不变
     var ary=[2,1,2,2,1];
     var result = ary.lastindexOf(2);
     console.log(result);//3
     console.log(ary);//[2,1,2,2,1]
  • 13)forEach()
    • ① 循环遍历数组的每一项
    • ② 参数是一个函数:function(item,index,originArray){}
    • ③ 返回值是一个undefined
    • ④ 原有数组不变
     var result = ary.forEach(function(item,index,originArray){});
     console.log(result);//undefined
     console.log(ary);//[1,2,3,4]
  • 14)map()
    • ① 循环遍历数组
    • ② 参数是一个函数:function(item,index,originArray){return item*index}
    • ③ 是匿名函数的return的值组成的新数组,数组长度和原数组相同
    • ④ 原有数组不变
     var result = ary.map(function(item,index,originArray){return item*index});
     console.log(result);//[0, 2, 6, 12]
     console.log(ary);//[1, 2, 3, 4]
  • ···
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值