Array系统内置对象
一个数据的集合
有个length属性代表数组的长度(可以改变)
以数字为索引,索引从0开始到length-1结束
操作方法:
1,给数组尾部添加数据
数据.push(元素1,元素2.)
参数;要添加的数据,可以是一个也可以是多个
返回值:返回添加数组的长度,原数组改变,变成添加后的数组。
2,把数组的最后一项数据删除pop()
数组.pop()
参数:无参:
返回值:删除的那个数据,原数组改变,变成删除后的数组。
3,给数组的前面添加数据。unshisf()
数组.unshisf(元素1,元素2.。。。)
参数:要添加的数据
返回值:添加后的新数组的长度,原数组改变,变成添加后的数组
4,删除数组的第一项shift()
数组.shift()
参数:无参
返回:返回被删除的数据,原数据改变,变成删除后的数据。
小节:给数组首尾添加数据unshift(),push() 删除数组的第一项shift(),最后一项pop().
5,join()
作用:把数组变成字符串。
语法:数组.join(separator)
参数:separator是一个连接符,把数组连接成一个字符串。
无参数时默认逗号分隔,参数为空字符时那么数组的每一项被直接连接
返回:返回数组转换成的字符串,原数组不改变。
6,reverse()
作用:颠倒数组
语法:数组.reverse()
返回:颠倒后的数组,原数组改变,变成颠倒后的数组
7,concat()
作用:连接数组,组成一个新的数组。
语法:数组.concat(value1,value2..)
参数;需要与数组合并的元素,可以是数组,数组名,非数组。若无参数时是克隆一个新的数组
返回值:合并后的新数组,原数组不改变。
8,slice()
作用:截取数组
语法:数组.slice(m,n)
参数:是截取位置,从索引m处,截取到n处不包含n。若只有一个参数,那么就是从参数位置开始到数组最后。若无参数时返回原来的数组(克隆)
返回值:返回截取到的数组,原数组不改变。
9,splice()
作用:用新的元素替换旧的元素(以此来修改数组的内容)
语法:splice(start,deleteCount,item)
参数:在索引start位置,删除deleteCount个元素后,把item放进来。
如果参数是一个时,代表载取数组,从参数位置开始到最后。
如果是两个参数时,代表从第一个参数位置开始,截取的个数为第二个参数。
如果三个参数,从第一个参数位置开始,删除第二个参数个数后,把第三个以及第三个参数后边的数据加到数组中(替换数组元素)
返回值:返回删除的数据,原数组改变,变成删除后剩下的内容。
10,forEach
作用:遍历数组
语法;数组.forEach(function(currenValue,index,arrrar){
//每次循环完都会执行这里的代码
})
参数:forEach里放的参数是一个函数,
函数的参数,
value//当前数组中的某个数据
index//当前数据的索引
array//数组本身
forEach
var array=['lisa','li','zhang'];
array.forEach(function(cc,index,array){
console.log(cc,index,array)
})
数组排序
sort()
作用:对数组进行排序
语法:数组.sort(compareFunction)
参数:用来指定某种顺序对数组进行排序,若无参数,按assci码值进行排序,函数里有两个参数a,b
return a-b 从小到大的顺序去排列小于0从大到小
return b-a 从大到小的顺序去排列
返回:排序后的数组,原数组改变,变成排序后的数组。
随机排序:
sort(function(){
return:0.5-Math.random()
})