forEach(function(element,index,arr))
改变原数组,遍历数组
var a = ["a","b",1,2,3];
a.forEach(function(element,index,arr){
console.log(index+":"+element);
});
/*0:a
1:b
2:1
3:2
4:3 */
map: map(function(element));
映射数组,返回新的数组,新数组索引结构和原数组一致,原数组不变
var a = ["a","b",1,2,3];
var b = a.map(function(element){
return ""+element+1;
});
console.log(b); //["a1", "b1", "11", "21", "31"]
filter(function(element))
过滤数组返回新数组
var a = ["a","b",1,2,3];
var b = a.filter(function(element,index,arr){
return (typeof element) == "string";
});
console.log(b); //["a", "b"]
every(function(element,index,arr)): &&与运算
some(function(element,index,arr)):||运算
every 查看数组的元素是否全部符合某个条件,如果全部符合返回true,否则返回falsesome 查看数组的元素是否符合某个条件,如果有至少一个符合,则返回true,否则返回false
var a = ["a","b",1,2,3];indexOf/lastIndexOf
var b = a.filter(function(element,index,arr){
return (typeof element) == "string";
});
console.log(b); //["a", "b"]
var a = [1,2,3];
var b = a.filter(function(element,index,arr){
return (typeof element) == "number";
});
console.log(b); //["a", "b"]
这两个方法用于查找数组内指定元素位置,查找到第一个后返回其索引,没有查找到返回-1,indexOf从头至尾搜索,lastIndexOf反向搜索。
Array.isArray()
Array对象的一个静态函数,用来判断一个对象是不是数组
reduce(function(v1,v2),value)/.reduceRight(function(v1,v2),value)
遍历数组,调用回调函数,将数组元素组合成一个值,reduce从索引最小值开始,reduceRight反向,方法有两个参数 1)回调函数:把两个值合为一个,返回结果; 2)value,一个初始值,可选。
var a=[1,2,3,4,5];
var b = a.reduceRight(function(x,y){return x*y;});
console.log(b); //120
var a=[1,2,3,4,5];
var b = a.reduce(function(x,y){return x*y;});
console.log(b); //120
var a=[1,2,3,4,5];
var b = a.reduceRight(function(x,y){return x*y;},3);
console.log(b); //360
var a=[1,2,3,4,5];
var b = a.reduce(function(x,y){return x*y;},3);
console.log(b); //360