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]
- 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的元素。