ECAMScript5中数组扩展的方法
forEach()从头到尾遍历;
var userName=["zhangsan","lisi"];
//函数有三个参数,数组元素、元素索引、数组本身
userName.forEach(function(value,index,ary){
console.log(value);
})
map()方法将调用的数组的每个元素传递给指定函数,并返回一个数组
var userName=["zhangsan","lisi"];
var newUserName=userName.map(function(value){
return value+"_Adress_"
});
console.log(newUserName);//输出["zhangsan_Adress_", "lisi_Adress_"]
filter()方法其实就是遍历所有元素,根据用户定义的函数,过滤出达到要求的数据,并组成一个新数组返回
var a=[5,3,7,2,1];
var newA=a.filter(function(val){
return val<3;
})
console.log(newA);//输出 2,1
every()和some()方法
直接上例子就懂了
var a=[1,3,6,9,11];
var booleanVal=a.every(function(x){
return x<12;
});
console.log(booleanVal);//输出 true
var booleanVal2=a.every(function(x){
return x<10;
});
console.log(booleanVal2);//输出 false
every针对所有元素调用判定函数,只有全部返回true 最终结果才是true
var booleanVal2=a.some(function(x){
return x<10;
});
console.log(booleanVal2);//输出 true
some针对所有元素调用判定函数,只要一个返回true,则最终结果为true
reduce()和reduceRight()方法
var a=[1,2,3,4,5];
//数组求和
var sun=a.reduce(function(x,y){
return x+y;
});
console.log(sun);//输出15
indexOf()和lastIndexOf()方法
搜索整个数组中,返回第一个与之匹配的元素的索引
var a=[1,2,3,45,22];
var ind=a.indexOf(45);
console.log(ind);//输出3
//lastIndexOf则是从尾部开始查找