HTML5数组方法

*****************************

forEach方法

*****************************

 

<script>
var data = [1,2,3,4];
var sum = 0;

// 计算数据元素的值
data.forEach(function(_val){
sum += _val;
})
console.log(sum);

//每个数据元素的值加1
data.forEach(function(_val,i,_arr){
_arr[i] = _val+1;
})
console.log(data);
</script>

 

*****************************

map方法

*****************************

 

<script>
var a = [1,2,3,4];

//数组内每个元素*10
b = a.map(function(x){
return x*10;
})
console.log(b);
</script>

 

*****************************

filter方法

*****************************

 

<script>
var a = [1,2,3,4];
s = a.filter(function(x){ return x<3 });
console.log(s); //输出:[1,2]
</script>

用法2: 压缩空缺并删除undefined和null元素

a = a.filter(function(x) { return x!==undefined && x!=null; });

 

*****************************

every和some方法

*****************************

 

every()和some()方法是数组的逻辑判定: 它们对数组元素应用指定的函数进行判定,返回true或false.

every 有点类以(||或运算),所有的值符合判断条件,就返回true.

a = [1,2,3,4,5]

a.every(function(x){ return x<10; }); //返回true;

some 有点类以(&&并且运算),只要的一个值符合判断条件,就返回true。

a = [1,2,3,4,5]

  1. some(function(x){ return x<3; }); //返回false;

*****************************

reduce和reduceRight()方法

 

var a = [1,2,3,4,5]

var sum = a.reduce(function(x,y){ return x+y },0); //数组求和

var product = a.reduce(function(x,y){return x*y},1); //数组求积

reduce()需要两个参数。

var a = [1,2,3,4,5]

// reduceRight()按照数组索引从高到低。 从5-4-3-2-1运算

 

*****************************

indexOf和lastIndexOf()方法

 

a= [0,1,2,1,0]

a.indexOf(1); //输出: 从a数组开头找出值等于1的值。 结果是1,就是a[1]

a.lastIndexOf(1); //输出3 : a[3]是1.

a.lastIndexof(5); //输出-1:没有值为3的元素。

 

posted @ 2014-08-05 22:38  ylong52  阅读(3923)  评论(0编辑  收藏  举报