Array新方法
一.位置方法
1.indexOf():
作用:返回某元素在数组中的第一个出现位置。
参数:第一个为需要查找的元素。第二个为查找的起始位置(可选,默认为0)。
返回值:返回元素在数组的位置,未找到返回-1.
2.lastIndxOf():
作用:返回某元素在数组中的位置(反向查找)。
参数:第一个为需要查找的元素,第二个为查找的起始位置。(默认为数组末尾元素位置)。
返回值:返回元素在数组中的位置。
二.迭代方法
以下方法在迭代数组时,会在每个元素上执行用户定义的函数。
这些函数必须遵循一个规则:接受三个参数。function(value,index,array),执行这个函数时,JS会把三个参数传给函数,即元素的值,元素的索引,元素本身。
1.every():测试数组中的所有元素是否通过了函数中的测试。若是,返回true,否则,返回false。
eg:
var numbers=new Array(1,2,3,4,5);
function isLessThan3(value,index,array)
{
var returnValue=false;
if(value<3)
{
returnValue=true;
}
return returnValue;
}
alert(numbers.every(isLessThan3));
2.some():测试数组中某些元素是否通过了函数的测试。
3.filter():对数组中的每个元素执行某函数,如果该函数对某个元素返回true,就把该函数添加到filter函数返回的数组中。
4.forEach():以某种方式使用数组中的元素执行某类操作。使用的操作函数不能有返回值。
eg:
var numbers=new Array(1,2,3,4,5);
function doubleAndAlert(value.index,array)
{
var result=value*2;
alert(result);
}
numbers.forEach(doubleAndAlert);
5.map():作用与forEach类似,但是每个操作结果会存储在map()方法返回的数组中。
eg:
var numbers=new Array(1,2,3,4,5);
function doubleAndAlert(value.index,array)
{
var result=value*2;
return result;
}
var doubledNumbers=numbers.map(doubleAndAlert);
alert(doubledNumbers);