国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

javascript - 兩種遞歸的寫法,第一種為何報(bào)錯(cuò)?

瀏覽:106日期:2023-09-20 14:49:16

問題描述

var obj = [ { type: ’number’ }, { type: ’string’ }, { type: ’array’, children: [ { type: ’number’ }, { type: ’string’ } ] }]var convert = function(obj) { return obj.map(o => ({ ’number’: 1, ’string’: ’s’, ’array’: convert(o.children) }[o.type]))}var convert2 = function(obj) { return obj.map(o => { if (o.type === ’number’) { return 1 } else if (o.type === ’string’) { return ’s’ } else if (o.type === ’array’) { return convert2(o.children) } else { return undefined } })}var converted = convert(obj)var converted2 = convert2(obj)

問題解答

回答1:

原因是判斷用的 obj 的每個(gè)屬性都被計(jì)算了一次,可以加條件阻塞改進(jìn):

var convert = function(obj) { return obj.map(o => ({ ’number’: o.type === ’number ’ && 1, ’string’: o.type === ’string ’ && ’s’, ’array’: o.type === ’array ’ && convert(o.children) }[o.type]))}

當(dāng)要判斷的條件少的時(shí)候可以用多個(gè)三目條件判斷,太多這樣的判斷,這種寫法要美觀一點(diǎn),接受不了的可能只能寫 if else 了。

回答2:

因?yàn)槟愕倪f歸沒有終止條件

回答3:

報(bào)錯(cuò)是第一個(gè)的時(shí)候沒有children

var convert = function(obj) { return obj.map(o => ({ ’number’: 1, ’string’: ’s’, ’array’: o.children?convert(o.children):''//假設(shè)沒有的時(shí)候返回空咯 }[o.type]))}

標(biāo)簽: JavaScript
主站蜘蛛池模板: 成 人免费视频l免费观看 | 日韩激情中文字幕一区二区 | 欧美一区欧美二区 | 高清国产美女一级a毛片 | 在线中文字幕精品第5页 | 久久久久国产视频 | 成人精品一区二区三区 | 三级黄色毛片视频 | 日本道久久 | 日韩乱码中文字幕视频 | 国产成人综合95精品视频免费 | 久久综合久美利坚合众国 | 久草视频网址 | 国产欧美日韩精品第三区 | 在线久草 | 国产黄a三级三级看三级 | 午夜国产亚洲精品一区 | 亚洲精品一级一区二区三区 | 日本视频一区二区三区 | 国产自制一区 | 亚洲字幕| 久久99热成人精品国产 | 热99re久久精品精品免费 | 日韩欧美成末人一区二区三区 | 欧美成人午夜做爰视频在线观看 | 欧美又粗又硬又大久久久 | 欧美日韩成人午夜免费 | jizjizjiz亚洲人 | 国产色a在线观看 | aa毛片免费全部播放完整 | 91aaa免费免费国产在线观看 | 国产精品久久久久久久久久日本 | 亚洲国产精品成人精品软件 | 久久久久香蕉视频 | 欧美高清一级啪啪毛片 | 色偷偷成人网免费视频男人的天堂 | 永久免费不卡在线观看黄网站 | 亚洲网站视频在线观看 | 国产午夜a理论毛片在线影院 | 一级特黄性色生活片一区二区 | 99在线观看精品视频 |