摘要:注意該題目摘錄自。題目描述寫一個方法,在一個未知對象中,找出所有的李鵬并對象輸出它的引用地址,以及對應(yīng)值。例如下面的一個對象百度李鵬李鵬解法這個題目考察的是應(yīng)該是遞歸和中對的理解,以及對的應(yīng)用。利用循環(huán)遍歷對象。
注意:該題目摘錄自:https://juejin.im/post/58d088...。我這里稍微做了些修改。
題目描述
寫一個方法,在一個未知對象中,找出所有的“李鵬” 并 console.log 對象輸出它的引用地址,以及對應(yīng)值。例如下面的一個對象:
var tarrgetObj = {
a: { b: { c: { d: { e: { name: "百度" } }, l: { name: "李鵬--> QQ:3206064928" } } } }, d: "90", e: "90", l: { a: { b: { c: { version: "1.0.0.1", name: "李鵬--> QQ:3206064928" } } } } }
解法
這個題目考察的是應(yīng)該是遞歸和Js中對object的理解,以及對typeof的應(yīng)用。
我下面先貼出我自己的解法的核心代碼:
思路講解
(1)首先,我定義了兩個數(shù)組path和result。其中path用于記錄當(dāng)前的已經(jīng)走過的“路徑”,它是一個臨時變量;而result用于記錄全部符合要求的數(shù)據(jù)。
(2)利用for循環(huán)遍歷對象。需要注意的是,由于這是個未知“深度”的對象,所以我這里使用了遞歸。這樣就可以把所有的“元素”都遍歷一遍。明白了這個之后,下面的代碼就是判斷“元素”是否為‘object’。(我這里多一句嘴,關(guān)于typeof的用法,大家可以參考這里。)如果是object的話,那么就繼續(xù)遞歸調(diào)用我們的方法;如果不是object,那么我們就取出它的值并判斷是否符合我們的要求。如果符合,就把值添加到我們的result數(shù)組中。其實,這個思路最最終的一點就是path.pop(),或許有人要問:這里有這一句的代碼有什么作用?下面我把調(diào)試信息貼出來,大家就能明白。
看了上圖,就能明白,這里是利用遞歸的特點將path中走過的路徑 一個一個剔除出去。想要明白這個思路,正確理解遞歸是前提。真心希望這個題目能夠幫助到您。不足之處,還請大家指出。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/98449.html
摘要:前言排序是計算機(jī)中對存儲的數(shù)據(jù)執(zhí)行最常見的操作之一。在排序算法中繞不開的是循環(huán),只有在深入學(xué)習(xí)排序算法時,才發(fā)現(xiàn)平時不起眼的循環(huán)語句不可小覷。在排序算法中,還有一點需要注意的,那就是數(shù)組。 前言 排序是計算機(jī)中對存儲的數(shù)據(jù)執(zhí)行最常見的操作之一。語法簡單,卻很精妙。在排序算法中繞不開的是循環(huán),只有在深入學(xué)習(xí)排序算法時,才發(fā)現(xiàn)平時不起眼的循環(huán)語句不可小覷。 拿最簡單的冒泡排序來說,道理我都...
摘要:微信公眾號記錄截圖記錄截圖目前關(guān)于這塊算法與數(shù)據(jù)結(jié)構(gòu)的安排前。已攻略返回目錄目前已攻略篇文章。會根據(jù)題解以及留言內(nèi)容,進(jìn)行補(bǔ)充,并添加上提供題解的小伙伴的昵稱和地址。本許可協(xié)議授權(quán)之外的使用權(quán)限可以從處獲得。 Create by jsliang on 2019-07-15 11:54:45 Recently revised in 2019-07-15 15:25:25 一 目錄 不...
摘要:每天會折騰一道及以上題目,并將其解題思路記錄成文章,發(fā)布到和微信公眾號上。三匯總返回目錄在月日月日這半個月中,做了匯總了數(shù)組知識點?;蛘呃奖疚淖钕旅?,添加的微信等會根據(jù)題解以及留言內(nèi)容,進(jìn)行補(bǔ)充,并添加上提供題解的小伙伴的昵稱和地址。 LeetCode 匯總 - 2019/08/15 Create by jsliang on 2019-08-12 19:39:34 Recently...
摘要:解析第題第題為什么的和的中不能做異步操作解析第題第題京東下面代碼中在什么情況下會打印解析第題第題介紹下及其應(yīng)用。盡量減少操作次數(shù)。解析第題第題京東快手周一算法題之兩數(shù)之和給定一個整數(shù)數(shù)組和一個目標(biāo)值,找出數(shù)組中和為目標(biāo)值的兩個數(shù)。 引言 半年時間,幾千人參與,精選大廠前端面試高頻 100 題,這就是「壹題」。 在 2019 年 1 月 21 日這天,「壹題」項目正式開始,在這之后每個工...
閱讀 3721·2021-10-18 13:34
閱讀 2415·2021-08-11 11:15
閱讀 1209·2019-08-30 15:44
閱讀 702·2019-08-26 10:32
閱讀 998·2019-08-26 10:13
閱讀 2072·2019-08-23 18:36
閱讀 1784·2019-08-23 18:35
閱讀 532·2019-08-23 17:10