//every: 每个
// 数组.every(函数)
// 用途: 数组的每一项, 用参数函数处理, 如果都返回true, 则最终结果为true: 代表每一个都满足条件
let arr = [1, 3, 7, 11, 5, 7, 5]
// 判断数组数据是否都是 奇数
var res = arr.every(function (value, index, array) {
// 固定3个参数
console.log('值value:', value)
console.log('序号index:', index)
console.log('当前数组array:', array)
console.log('-------------------------')
return value % 2 == 1 //true 代表奇数
})
console.log(res ? '都是奇数' : '非都是奇数')
// some: 至少有一个
let nums = [12, 13, 14, 4, 6]
// 是否有奇数
var res = nums.some(function (value, index, array) {
//3参同 every 一模一样
console.log('value:', value)
return value % 2 == 1 //true 代表奇数
})
console.log(res ? '有奇数' : '没有奇数')
// filter: 过滤
// 把满足条件的元素 组成新的数组
let nums = [12, 33, 445, 11, 32, 43, 18]
// 把 奇数 筛选出来, 形成新的数组
let nums_odd = nums.filter(function (value, index, array) {
return value % 2 == 1 //true代表奇数
})
console.log(nums_odd)
// map: 映射
// let一旦重名变量, 会报错
// var 重名变量覆盖,不会报错
var nums = [11, 22, 33, 44, 55]
// x2
var nums_db = nums.map(function (value, index, array) {
// 返回处理后的值, 他们形成新的数组
return value * 2
})
console.log(nums_db)
// forEach: 代替for循环遍历数组
let nums = [11, 22, 33, 44]
// 没有返回值, 仅仅是遍历数组
nums.forEach(function (value, index, array) {
console.log('index:', index)
console.log('value:', value)
})
// reduce: 归纳
var nums = [11, 22, 33, 44]
// reduce(回调函数, 初始值)
// 初始值不写: 默认为 数组的序号0的值
var res = nums.reduce(function (sum, value) {
// 返回值就是 sum 参数的新值: sum=返回值
return sum + value
}, 0)
console.log(res)
数组的高阶方法
最新推荐文章于 2022-10-06 13:42:57 发布