ECMAScript5数组新增方法

时间:2022-02-24 22:05:42

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,否则返回false

some 查看数组的元素是否符合某个条件,如果有至少一个符合,则返回true,否则返回false

var a = ["a","b",1,2,3];
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"]

indexOf/lastIndexOf 

这两个方法用于查找数组内指定元素位置,查找到第一个后返回其索引,没有查找到返回-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