// 迭代器
Iteration() {
/**
* 适用场景:
* 1、forEach: 适用用对数组进行操作,参考for循环
* 2、every:适用于对数组所有元素进行同一个判断,返回布尔值
* 3、some:适用于判断某个元素是否符合函数,返回布尔值
* 4、reduce:适用于对数组元素进行累加求值
* 5、map:适用于在原有数组的基础上进行一个函数操作,返回一个新数组
* 6、filter:适用于查找数组中符合函数的所有元素,并将其做为一个新数组返回
*/
let arrs = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
// 1、forEach: 无返回值,不会改变原有的数组
arrs.forEach(Data => {
return console.log(Data + 1)
})
// 2、every: 返回值为布尔值,如果所有元素都符合函数,则返回true,否则返回false
let every = arrs.every(Data => {
return Data < 10
})
console.log(every) // true
// 3、some: 返回值为布尔值,只要有一个元素使得该函数返回true,则返回true, 否则返回false
let some = arrs.some(Data => {
return Data == 1
})
console.log(some) // true
// 4、reduce: 返回一个累加值,对一个数组中的值从头开始进行累加(reduceRight:是从右到左)
let reduceAdd = arrs.reduce((val1, val2) => {
return val1 + val2
})
console.log(reduceAdd) // 45
// 5、map:返回值为一个新的数组(原有数组不变)
let newMap = arrs.map(Data => {
return Data + 2
})
console.log(newMap) // [2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
// 6、filter:返回一个符合函数的新数组(原有数组不变)
let newFilter = arrs.filter(Data => {
return Data % 2 == 0
})
console.log(newFilter) // [0, 2, 4, 6, 8]
},