1.indexOf( )与lastIndexOf( )
indexOf( )方法适用于在数组中查找指定元素的位置,找到第一个匹配元素以后返回其索引,此方法是从数组头部开始搜索,而lastIndexOf( )的搜索方向则是相反。
var a = [2,3,4,5,5,6];
console.log(a.indexOf(5));//3
console.log(a.lastIndexOf(5));//4
console.log(a.indexOf(7));//-1 找不到指定元素,则返回-1
2. forEach( )方法
forEach( )方法用于遍历数组,对数组的每个元素执行一次所设定的函数。参数是一个毁掉函数,有三个参数:
- 当前元素(value)
- 当前元素的索引值(index)
- 整个数组(array)
var a = [1,2,3,4];
a.forEach(function(v,i,arr){
console.log(v +'['+ i +']'+ ' -> '+arr)
});
//"1[0] -> 1,2,3,4"
//"2[1] -> 1,2,3,4"
//"3[2] -> 1,2,3,4"
//"4[3] -> 1,2,3,4"
3. map( )方法
map( )方法是创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果。
如输出一个数组,由原数组中每个元素的平方的值组成:
var a = [2,3,4];
var b = a.map(function(x){
return x*x;
});//[4,9,16]
4. every( )方法
every( )方法 方法测试数组的所有元素是否都通过了指定函数的测试。
function ifBigger(a) {
return (a>0);
}
var a = [3,4,5,6,7];
console.log(a.every(ifBigger));//true 检验a数组里面的所有元素是否大于0;
var b = [2,3,4,-2,6];
console.log(b.every(ifBigger));//false有一个元素不符合函数要求则返回false;
5. some( )方法
some( )方法与every方法类似,都是检测元素是否通过了指定函数的测试,但是区别在于:every()方法是当全部元素都返回true,才返回true;而some()方法则只要有一个元素true,都返回true。例子类似就不举了。
6. filter( )方法
filter( )方法用于创建一个新的数组,其包含符合所提供函数测试的所有元素。
var arr = [3, -1, 2, 7, 'bb'];
var result = arr.filter(function(value){
return value>0;//检测传入数组中的值是否大于0并把符合条件的元素return出来组成新的数组
});
console.log(result);//[3,2,7]
6. reduce( )方法
reduce() 方法对累加器和数组中的每个元素(从左到右)应用一个函数,将其减少为单个值。还没有掌握
var arr = [1,2,3];
console.log(arr.reduce(fucntion(sum,value)
return sum+value;
));//6把数组里面的所有元素相加