数组Array的方法

来源:互联网 发布:福建广电网络集团 缴费 编辑:程序博客网 时间:2024/06/06 08:53

1.元素的添加和删除

  • push():该方法可向数组末尾添加一个或多个元素,并返回新的数组长度。可以这么来理解,push是对数据的压栈操作,栈不是什么很深的概念,不要被吓到,比如说,桌子上堆了厚厚的书,压栈就是把书一本本的往上加,是不是很好理解,使用方法:arr.push(eleq,ele2...elen);其中,第一个参数是必须填的,指要添加到数组的第一个元素,后面的参数可选,在使用过程中也一般值传第一个参数,在做遍历即可。
  • unshift():该方法可向数组的开头添加一个或多个元素,并返回新的长度。它的作用不要和push方法混淆,一个是从数组的开头进行元素添加,一个是从数组的末尾进行元素的添加。使用语法:arr.unshift(ele1,ele2....elen)。
  • concat():该方法用于连接两个或是多个数组,注意的是,该方法不会改变现有的数组,只是会返回一个被连接后的数组。使用语法:arr.concat(arr1,arr2...arrn)。

var arr=[0,1,2,3,4,5,6,7];var arr2=arr.concat([1,2,3],[22,23.24]);console.log(arr2);//0,1,2,3,4,5,6,7,1,2,3,22,23,24

  • pop():该方法和push方法对应,但功能相反,用于删除并返回数组的最后一个元素,同时,数组的长度会被减1,如果数组已经为空,再去执行pop()方法,那么此时会返回undefined值。使用语法:arr.pop(),注意括号不可以传参数。
  • shift():该方法和unshift()方法对应,但功能相反,用于删除并返回数组的第一个元素。使用语法:arr.unshift()

     2.slice和splice方法

  • slice():实现数组的截取,在原有的数组中截取某一部分
  • slice(n,m),从索引n开始,找到索引为m处(不包含m),将找到的部分以一个新的数组返回,原来的数组不变
  • slice(n):从索引n开始一直找到数组的末尾,找到的部分以新数组的方式返回,原来的数组不变
  • sildce(0)/slice():把原来的数组克隆一份新数组返回

  • splice():增加、删除、修改
  • var ary=[12,23,34,45];ary[2]=340;//利用对象的操作的方式修改某一项的值


  • 删除:
  • ary.splice(n,m):从索引n开始删除m个元素,把删除的内容以一个新的数组的方式返回,元素组改变
  • ary.splice(n):从索引n开始,删除到数组末尾,删除项以新数组返回,原数组改变。
  • ary.splice(0):把原来的数组中的每一项都删除掉(清空数组每一项),把之前的每一项的值以一个新的数组返回(把之前的数组克隆一份一样的,这样的克隆会修改原来的数组)。
  • ary.splice():里面一项都没有删除,返回的是一个空数组,原数组不变。
  • 修改:
  • ary[2]=340;=>利用的是对象的操作方法修改某一项的值
  • splice(n,m,x):从索引n开始删除m个,用夏天还删除的部分,返回结果是删除的部分(以数组的形式)原数组改变。
  • var ary=[12,23,34,45,56,67,78,89,100];var res=ary.splice(2,4,10000);console.log(res,ary)//[34,45,56,67]  [12,23,10000,78,89,100]

  • 增加:
  • splice(n,0,x):从索引n开始,一个都不删除(返回结果是一个空数组),把x增加到索引n的前面,原来的数组改变
  • splice(ary.length,0,x):向末尾加入x

     3.数组转换字符串
  • toString:数组.toString();把数组转换字符串,原数组不变。
  • join:按照每一个分隔符,把数组中的每一项拼接成一个字符串,原数组不变。 
  • 扩展:eval -》JS中把字符串变成JS表达式执行的一个方法,例:eval("12+23+34+45") //输出114 把数组中的每一项相加
  • var ary=[12,23,34,45];console.log(eval(ary.join("+")));//114

    4.数组的排序和排列
  • reverse:把数组倒过来排列,原数组不变
  • 数组.reverse();
  • sort:给数组进行排序
  • ary.sort()这样的话只能处理10以内的数字进行排序,因为它是按照UNICODE编码的值进行排序的
  • 10以上的数字排序:
  • ary.sort(function(a,b){return a-b; //从小到大排序return b-a; //从大到小排序})


原创粉丝点击