简介:详细介绍ES6中map及reduce⽅法的使⽤
map
reduce
{
//Map 数据映射
const json = [
// 1 是已经上线 0 是未上线
{title:'es6', status:1},
{title:'react',status:0},
{title:'webpack',status:1},
{title:'javaScript',status:0}
]
let video = json.map(function(item){
return {
name: item.title,
statusTxt: item.status ? '已上线' : '未上线'
}
})
console.log('json',json)
console.log('video',video)
}
{
//reduce 对数组中的每个元素进行一次回调,升序执行然后将回调值汇总一个返回值
//acc 返回值 cur 当前值 空对象反回初始值 {} 接收
const letterList = 'abcadefrd'
const result = letterList.split('').reduce(function(acc,cur){
acc[cur] ? acc[cur]++ : acc[cur]=1
return acc
},{})
console.log(result)
//展开多层数组
const list = [ 1, ['2nd',2,3, ['3rd',2,3]] , ['2nd',6,7] ]
const deepFlat = function(list){
return list.reduce(function(acc,cur){
return list.concat(Array.isArray(cur) ? deepFlat(cur) : cur)
},[])
}
let flatList = deepFlat(list)
console.log(flatList)
}
效果图: