数组的遍历(迭代)
(1) for - in循环
可以遍历数组, 但是他最主要的功能是遍历对象
(2) forEach()
vae arr.forEach(function(item,index){
//arr 代表数组
//item 代表数组的值
//index 代表数组的索引值
})
(3) map()
(一一对应的映射) 返回的结果是一个新的数组 参数是一个回调函数 , 函数的参数是数组中的每个值
let newArr = arr.map(function(item, index, array) {
//arr 代表数组
//item 代表数组中的每个值
//index 代表数组的索引值
//array 代表数组的本身
});
(4) filter()
过滤 返回一个新数组
let arr = [10, 23, 54, 67, 21];
let newArr = arr.filter(function(item) {
return item > 50;
}
//返回的数组则是[54,67];
(4) some()
测试数组中是不是至少有1个元素通过了被提供的函数测试。它返回的是一个Boolean类型的值。
let arr = [10, 23, 54, 67, 21];
let newArr = arr.some(function(item) {
return item > 70;
}
// 数组中有至少一个元素通过回调函数的测试就会返回true;所有元素都没有通过回调函数的测试返回值才会为false。
(5)every()
测试一个数组内的所有元素是否都能通过某个指定函数的测试。它返回一个布尔值。
let arr = [10, 23, 54, 67, 21];
var newArr = arr.every(function(item) {
return item > 5;
}
//如果回调函数的每一次返回值都为 true 值 ,返回true,否则返回false
(6)reduce()
对数组中的每个元素执行一个由您提供的reducer函数(升序执行),将其结果汇总为单个返回值。
let arr = [1, 2, 4, 6, 1, 0];
let newArr = arr.reduce(function(item, value, index, array) {
//累加器 提供初始值, item就是初始值, 没有提供,则默认是数组的第一个值
console.log(item);
//若提供初始值,value从数组的第一项开始循环
//若没有提供初始值,value从数组的第二项开始循环
console.log(value);
//当前索引值
console.log(index);
//源数组
console.log(array);
return item + value;
}, 10);
console.log(newArr);