##循环数组的方法
1.for循环
for(let i = 0;i < ary.length;i++){
console.log(ary[i]);
}
2.forEach
ary.forEach(function(ele,i){
console.log(ele,i);
});
3.for-in
for(let key in ary){
console.log(key,ary[key]);
}
4.for-of(es6的方法)
for(let value of ary){
console.log(value);
}
5.map(es5的方法)实现对数组的每个元素进行操作!
比如我们有一个函数f(x)=x2,要把这个函数作用在一个数组[1, 2, 3, 4, 5, 6, 7, 8, 9]上,就可以用map实 现
由于map()方法定义在JavaScript的Array中,我们调用Array的map()方法,传入我们自己的函数,就得到了一 个新的Array作为结果:
function pow(x) {
return x * x;
}
var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
arr.map(pow); // [1, 4, 9, 16, 25, 36, 49, 64, 81]
6.fitter(es5的方法)过滤器
filter也是一个常用的操作,它用于把Array的某些元素过滤掉,然后返回剩下的元素
filter()也接收一个函数
遍历数组
例如,在一个Array中,删掉偶数,只保留奇数,可以这么写:
var arr = [1, 2, 4, 5, 6, 9, 10, 15];
var r = arr.filter(function (x) {
return x % 2 !== 0;
});
// [1, 5, 9, 15]
7.reduce
Array的reduce()把一个函数作用在这个Array的[x1, x2, x3...]上,这个函数必须接收两个参数,reduce()把 结果继续和序列的下一个元素做累积计算
好比用一张纸打印一行字,然后继续用这张纸打印二行,三行字
每一次循环的return作为下一次循环的第一个值
[x1, x2, x3, x4].reduce(f) = f(f(f(x1, x2), x3), x4);
比方说对一个Array求和,就可以用reduce实现:
var arr = [1, 3, 5, 7, 9];
arr.reduce(function (x, y) {
return x + y;
}); // 25