var arr = [1, 2, 3, 4, 5];
var sum = 0;
arr.forEach(function (value) {
sum = sum + value;
});
document.write(sum); //sum最终为15
2、map() map()方法将调用的数组的每个元素传递给指定的函数,并返回一个数组。
var arr = [1, 2, 3, 4, 5];
var arr1 = arr.map(function (value) {
return value + 1;
});
document.write(arr1.join()); //arr1为[2,3,4,5,6]
3、filter() filter()过滤,返回的元素是调用数组的一个子集,过滤掉不符合条件的元素。
var arr = [1, 2, 3, 4, 5, 6];
var arr1 = arr.filter(function (i) { return i % 2 == 0 });
document.write(arr1.join()); //arr1为[2,4,6]
4、every()和some()
every()当且仅当数组里的所有元素调用判定函数都返回true,它才返回true。第一次返回false就停止遍历。
some()当数组里存在一个元素调用判定函数返回true,它就返回true。第一次返回true就停止遍历。
var arr = [1, 2, 3, 4, 5, 6];
var a = arr.every(function (x) { return x > 3; });
var b = arr.some(function(y){ return y > 3; });
document.write("a的值是:" + a); //a的值是false,a中不是所有元素大于3
document.write("b的值是:" + b); //b的值是true,b中存在元素大于3
5、reduce()和reduceRight()
reduce() 将数组中的元素以指定函数进行组合,生成单个值,第一个参数是简化操作函数,第二个参数是传递给函数的初始值。最后结果是初始值再按组合函数与最后结果计算一次。第二个参数即初始值可以省略,当初始值省略就直接从第一个元素开始计算。
var arr = [1, 2, 3, 4, 5, 6];
var count = arr.reduce(function (x, y) { return x + y; },0);
document.write(count);
reduceRight(); 与reduce()唯一的不同就是它从右至左选择元素进行计算。
6、indexOf()和lastInsexOf()
indexOf() indexOf()从头至少尾返回找到的第一个元素的索引。
lastIndexOf() lastIndexOf()倒序查找元素,返回第一个找到元素的索引。
var arr = [1, 2, 3, 2, 1];
var i = arr.indexOf(2); //从头至尾搜索,第一次遇见2是arr[1],因此返回1
var j = arr.lastIndexOf(2); //从尾至头搜索,第一次遇见2是arr[3],因此返回3
document.write(i + "<br/>");
document.write(j);
7、Array.isArray(); //判定一个对象是否数组对象
var arr = [1, 2, 3];
var str = "str1";
document.write(Array.isArray(arr)); //返回true arr是数组对象
document.write(Array.isArray(str)); //返回false str是字符串,并非数组对象
您可能感兴趣的文章: