代码拉取完成,页面将自动刷新
/**
* map、filter、reduce
*/
// ---> map: 复制,遍历并复制原数组为新数组
// 原理:
// 1. map内部先创建一个新数组
// 2. 然后才是带着回调函数一起遍历原数组
// 3. 自动将回调函数在每个元素上执行一次,将回调函数的结果放入到新数组中相同的位置上
// 4. 遍历结束返回新数组
var oneList = [1, 2, 3, 4, 5, 6]
var newOneList = oneList.map(
function (value, i, arr) {
return value ** 2
}
)
console.log(oneList) // [1, 2, 3 ,4, 5, 6]
console.log(newOneList) // [ 1, 4, 9, 16, 25, 36 ]
// ---> filter: 过滤,复制出原数组符合条件的元素组成新数组返回,原数组不变
// 原理:
// 1. map内部先创建一个新数组
// 2. 然后才是带着回调函数一起遍历原数组
// 3. 自动将回调函数的结果验证,如果为true则放入到新数组中
// 4. 遍历结束返回新数组
var filterOneList = oneList.filter(
function (value, i, arr) {
return value > 3
}
)
console.log(oneList) // [1, 2, 3 ,4, 5, 6]
console.log(filterOneList) // [ 4, 5, 6 ]
// ---> reduce: 汇总,对数组中的元素进行统计得出最终结论
var reduceOneList = oneList.reduce(
function (prev, elem, i, arr) {
// prev: 保存到截止当前元素的临时汇总结果
// return 将当前元素elem累加到prev中,得到新的汇总值
return prev + elem
}
)
console.log(oneList) // [1, 2, 3 ,4, 5, 6]
console.log(reduceOneList) // 21
// 统计一个字符串中每个字符出现的个数, 并且那个字符出现次数最多, 是几次?
var oneStr = "helloworld"
var oneStrToList = [...oneStr]
var res = oneStrToList.reduce((res, c) => {
res[c] ? res[c]++ : res[c] = 1;
return res
}, {})
console.log(res) // { h: 1, e: 1, l: 3, o: 2, w: 1, r: 1, d: 1 }
function CharTotal() {
var char, count
for(var key in res) {
if(char === undefined) {
char = key
count = res[key]
} else {
if(res[key] > count) {
char = key
count = res[key]
}
}
}
console.log(char, count) // l 3
}
CharTotal()
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。