1 数组操作方法
A. concat()方法,数组拼接或在数组基础上末尾添加数组项
var color=['red','blur','greed']
col=['a','b']
color2=color.concat('yellow','black')
color3=color.concat(col)
alert(color) //red,blur,greed
alert(color2) //red,blur,greed,yellow,black
alert(color3) //red,blur,greed,a,b
注:concat()只是复制当前的数组并返回副本,不会影响原数组
B. slice()方法,获取取数组的一部分选项,1个或2个参数
var color=['red','blur','greed','black','yellow'];
color2=color.slice(2); //参数表述从数组第N个开始,例子:从第三个选项开始到末尾
color3=color.slice(2,4) //第一个参数表述从第N个开始,第2个参数表述结束位置、不包含本身
alert(color2) //greed,black,yellow
alert(color3) //greed,black
C. splice()方法{会改变原数组},主要用途像数组中部插入项,使用方式如下:
- 删除:可以删除任意数量的项,只需指定2个参数:要删除的第一项的位置和要删除的数量。例如:splice(0,2) 会删除数组中的前两项
- 插入:可以插入任意数量的项,只需提供3个参数:起始位置、0(要删除的项数)、要插入的项。例如:splice(2,0,’red’,’good’)会在当前数组的位置2插入两项red,good
- 替换:可以向指定位置插入任意的项,并同时删除任意数量的项,只需指定3个参数:起始位置、要删除的选项、和要插入的任意数量的项,插入的数量不一定要与删除的项数相等。例如:splice(2,2,’red’)会删除当前数组位置2及3两项,然后再从位置2开始插入red
var color=['red','blur','greed','black','yellow'];
var removed=color.splice(0,1) //删除第一项
alert(color) //blur,greed,black,yellow
alert(removed) //red ,返回被删除的数组
var add=color.splice(1,0,'good','bad')
alert(color) //blur,good,bad,greed,black,yellow
alert(add) //返回一个空数组
var removed=color.splice(1,2,'good','bad'); 删除2项,插入两项
alert(color) //red,good,bad,black,yellow
alert(removed) //blur,greed ,返回被删除的数组
2 位置方法
indexOf() 和lastIndexOf()
3.迭代方法(判断数组)
- every():对数组每一项运行给定函数判断,如果每一项都为ture(满足条件),则返回ture,反之返回false
- filter():对数组每一项运行给定函数判断,返回结果为ture(满足条件)的项,返回结果为一个数组。
- forEach:对数组每一项运行给定函数判断。这个方法不返回值。
- map:对数组每一项运行给定函数判断,返回调用函数返回的结果组成的数组。
some:对数组每一项运行给定函数判断,如果该函数任意一个返回ture,则结果返回ture,反之都为false,则返回false
例:
var number=[1,2,3,5,6]
everyResult=number.every(function(item,index,array){
return item > 5;
})
alert(everyResult) //false
someResult=number.some(function(item,index,array){
return item % 2 == 0;
})
alert(someResult) //ture
filterResult=number.filter(function(item,index,array){
return item % 2 == 0;
})
alert(filterResult) //2,6 返回满足条件的组数集合
mapResult=number.map(function(item,index,array){
return item * 2;
})
alert(mapResult) // 2,4,6,10,12 返回所有结果组数