【前端面試】當被面試官問到 “數(shù)組的 reduce 方法”

累加
[1,2,3].reduce((pre,cur) =>{
return pre+cur
},0)
const result = [1,2,3].reduce((pre,cur) => pre+cur);
找最大值
const result = [1,2,3,2,1].reduce((pre,cur) => Math.max(pre,cur) )
數(shù)組去重
const resultList = [1,2,3,2,1].reduce((preList,cur) => {
if(preList.indexOf(cur) === -1){
preList.push(cur)
}
return preList
},[])
歸類
const dataList = [
{
name:"aa",
country:"China"
},
{
name:"bb",
country:"China"
},
{
name:"cc",
country:"USA"
},
{
name:"dd",
country:"En"
}
]
const reslutObj = dataList.reduce((pre,cur) => {
const {country} = cur;
if(!preObj[country]){
preObj[country] = [];
}
preObj[country].push(cur);
return preObj;
},{});
字符串的反轉(zhuǎn)
const str = "hello world";
const reslutStr = Array.from(str).reduce((pre,cur)=>{
return `${cur}${pre}`;
},'');
標簽: