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; //从大到小排序 })