第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

數(shù)組的Array.prototype.flat()方法,怎么使用尾遞歸來實現(xiàn)呢

數(shù)組的Array.prototype.flat()方法,怎么使用尾遞歸來實現(xiàn)呢

ABOUTYOU 2019-05-11 17:09:47
Array.prototype.flat()方法可以將嵌套數(shù)組進(jìn)行扁平化處理成一維數(shù)組,可以接受一個數(shù)字為展開的幾層,默認(rèn)為1層。如果不管嵌套多少層都展開可以傳入一個Infinity。letarr1=[1,2,3,4,5,[6,7,8,9,10]]arr1.flat();//[1,2,3,4,5,6,7,8,9,10]letarr2=[1,2,3,[4,5,6,[7,8,9,[10]]]]//這里嵌套了好幾層arr2.flat(Infinity)//[1,2,3,4,5,6,7,8,9,10]//遞歸實現(xiàn)functionflat(arr){if(arr.length
查看完整描述

2 回答

?
藍(lán)山帝景

TA貢獻(xiàn)1843條經(jīng)驗 獲得超7個贊

functionflat(arr){
varret=[]
vardirty=false
arr.forEach(item=>{
if(Array.isArray(item)){
dirty=true
ret.push(...item)
}else{
ret.push(item)
}
})
returndirty?flat(ret):ret
}
                            
查看完整回答
反對 回復(fù) 2019-05-11
?
慕無忌1623718

TA貢獻(xiàn)1744條經(jīng)驗 獲得超4個贊

首先,只要是遞歸就可能爆,如果不想爆要么指定深度結(jié)束,要么換別的方法實現(xiàn)。
functionfn1(deep){
if(deep>0){
deep--
returnfn1(deep)
}
return;
}
fn1(100000)
栗子
//循環(huán)實現(xiàn)
functionflat(arr){
if(arr.length<1||!arrinstanceofArray)returnarr;
letnewArray=[]
while(arr.length>0){
letnextTask=[];
for(letiofarr){
if(iinstanceofArray){
nextTask=nextTask.concat(i);
}else{
newArray.push(i)
}
}
arr=nextTask;
}
returnnewArray;
}
//生成深度測試數(shù)組用于驗證爆棧
lettestArray=Array(100000).fill().map((d,i)=>([i])).reduce((acc,cur)=>{
cur[1]=acc;
returncur;
})
console.log(flat(testArray))
                            
查看完整回答
反對 回復(fù) 2019-05-11
  • 2 回答
  • 0 關(guān)注
  • 453 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號