js中的数组也是对象数据类型的,也是由属性名和属性值组成,数组的属性名就是数组中的每一项对应的索引值,数组的属性值就是我们数组中写的每一项的值。
数组中的一些方法
1、起始位置增加和删除
push:向数组的尾部添加新的元素,返回添加后数组的长度,原有数组改变。
pop:删除数组尾部的元素,返回删除的元素,原有数组改变。
unshift:向数组头部添加元素,返回添加后的数组的长度,原有数组改变。
shift:删除数组的第一个元素,返回删除的内容,原有数组改变
2、concat 第一个作用 当参数为空时克隆数组 返回一个和原数组一样的数组,原数组不改变。
第二个作用 将两个数组进行拼接,返回拼接后的一个数组,原数组不改变。
3、slice(n,m) 从索引n开始(包含),找到索引m(不包含),将找到的内容返回一个新的数组,原数组不改变。
slice()和slice(0) 克隆一个新的数组,作用同concat参数为空。
slice(n) 从索引n开始(包含),找到数组末尾,将找到的内容返回一个新的数组,原数组不改变。
4、将数组变换成字符串的方法
join(字符):按照指定的字符,将数组拆分成字符串,原数组不改变。
join() 不写字符串的话,默认用逗号隔开,此时相当于另外一个方法toString
toString将数组转化成字符串,默认逗好隔开,原数组不改变。
5、splice
- splice(n,m)从索引n(包含n)开始,删除m个数,将删除的元素放到一个新的数组中返回,原数组改变。
- splice(n)从索引n(包含n)开始,将后面的元素都删除,若n为0,则是克隆个数组,原数组改变。
- splice(n,m,x)从索引n(包含n)开始,删除m个元素,把x放到删除的位置,实现替换,反回删除的元素,原数组改变
- splice(n,0,x)从索引n处开始把x添加到数组中 原数组改变。
6、排序和排列
reverse:将原有数组中的元素倒过来排列,原有数组改变。
sort:将原数组从小到大排序,但是这个方法不能处理10以上的数字,因为他默认的排序方式是按照数组中元素的ASII码值排序的
var ary=[12,34,123,2,67,78]; ary.sort(function(a,b){return a-b;}); //从小到大排序 ary.sort(function(a,b){return b-a;}); //从大到小排序
7、indexOf:在数组中查找我们指定元素的索引位置,返回的是索引的位置,原有数组不变,用这个方法,我们实现判断原有数组中是否包含某一项元素,如果没有返回的是-1,有的话就是对应的索引
在ie6-8中不兼容。
var ary=[15,8,88,3,85,1]; function indexOf(item,ary){ index=-1; for(var i=1,j=ary.length;i<j;i++){ if(item===ary[i]){ index=i; break; } } return index; } console.log(indexOf(15,ary));