編程競賽 - 數(shù)組父子關(guān)系的轉(zhuǎn)換(完成)

場景

這又是項目中一個真實存在的場景悯许。

報表中展示列表時經(jīng)常會出現(xiàn)層級下鉆傍药,由于報表框架設(shè)計的局限性跑芳,下鉆時并非再次發(fā)起新的數(shù)據(jù)請求突照,而是一次性下載完報表需要的所有數(shù)據(jù)帮非,那么如何做到數(shù)據(jù)列表下鉆時的父子關(guān)系氧吐?

H5 的報表解析引擎已使用 JS 實現(xiàn)讹蘑,具體實現(xiàn)方式可再開新題交流;現(xiàn)使用移動端原生代碼重寫報表控件筑舅,數(shù)據(jù)的父子關(guān)系則必須提交處理座慰,那么本次競賽的題來了:

數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)化邏輯

  • 第二維數(shù)組結(jié)構(gòu):[自身ID, 父節(jié)點ID, 列表數(shù)組]
  • 前兩個數(shù)據(jù)項(自身ID/父節(jié)點ID)只是用來處理父子關(guān)系,不作展示
  • 第一層級的數(shù)據(jù)父節(jié)點ID 為空字符串
[
  ['自身ID1', '', '標(biāo)題1', 1, 2, 3],
  ['自身ID2', '', '標(biāo)題2', 4, 5, 6],
  ['自身ID11', '自身ID1', '標(biāo)題3', 7, 8, 9],
  ['自身ID21', '自身ID2', '標(biāo)題4', 10, 11, 12],
  ['自身ID22', '自身ID2', '標(biāo)題5', 13, 14, 15],
  ['自身ID111', '自身ID11', '標(biāo)題6', 16, 17, 18],
  ['自身ID211', '自身ID21', '標(biāo)題7', 19, 20, 21],
  ['自身ID2111', '自身ID211', '標(biāo)題8', 22, 23, 24]
]

=>

[
  {
    "main_data": ["標(biāo)題1", 1, 2, 3],
    "sub_data": [
      {
        "main_data": ["標(biāo)題3", 7, 8, 9],
        "sub_data": [
          {
            "main_data": ["標(biāo)題6", 16, 17, 18],
            "sub_data": []
          }
        ]
      }
    ]
  },
  {
    "main_data": ["標(biāo)題2",4,5,6],
    "sub_data": [
      {
        "main_data": ["標(biāo)題4",10,11,12],
        "sub_data": [
          {
            "main_data": ["標(biāo)題7",19,20,21],
            "sub_data": [
              {
                "main_data": ["標(biāo)題8",22,23,24],
                "sub_data": []
              }
            ]
          }
        ]
      },
      {
        "main_data": ["標(biāo)題5",13,14,15],
        "sub_data": []
      }
    ]
  }
]

需求

  1. 把上述二維數(shù)組轉(zhuǎn)化為預(yù)期數(shù)據(jù)結(jié)構(gòu)
  2. 在使用職位編程語言實現(xiàn)的基礎(chǔ)上翠拣,使用其他語言提供解決方案加分(多多益善)
  3. 題目相對簡單版仔,不可重復(fù)他人相同編程語言的相同解決方案,以 github 提交時間為準(zhǔn)

其他

  • 獎金 1000

  • 代碼提交至:IntfocusCoding

  • 考慮到近期工作較為飽和误墓,截止時間下周六(17/07/05)

  • 編寫代碼時遵循團隊內(nèi)部的編程規(guī)范

  • 源代碼文件名稱格式

    • 單文件: 提交者-編程語言.語言后綴
    • 項目文件夾:提交者-編程語言
  • 鼓勵封裝代碼邏輯為單一函數(shù)或類蛮粮,調(diào)用接口傳參,運行輸出預(yù)期結(jié)果

  • 整理文檔時遵循團隊內(nèi)部 markdown 規(guī)范

  • 提交時遵循團隊內(nèi)部 commit 格式

  • 在職位語言實現(xiàn)基礎(chǔ)上谜慌,鼓勵使用多種語言實現(xiàn)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末然想,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子欣范,更是在濱河造成了極大的恐慌变泄,老刑警劉巖令哟,帶你破解...
    沈念sama閱讀 222,183評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異妨蛹,居然都是意外死亡屏富,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,850評論 3 399
  • 文/潘曉璐 我一進店門蛙卤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來狠半,“玉大人,你說我怎么就攤上這事颤难〉溆瑁” “怎么了?”我有些...
    開封第一講書人閱讀 168,766評論 0 361
  • 文/不壞的土叔 我叫張陵乐严,是天一觀的道長瘤袖。 經(jīng)常有香客問我,道長昂验,這世上最難降的妖魔是什么捂敌? 我笑而不...
    開封第一講書人閱讀 59,854評論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮既琴,結(jié)果婚禮上占婉,老公的妹妹穿的比我還像新娘。我一直安慰自己甫恩,他們只是感情好逆济,可當(dāng)我...
    茶點故事閱讀 68,871評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著磺箕,像睡著了一般奖慌。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上松靡,一...
    開封第一講書人閱讀 52,457評論 1 311
  • 那天简僧,我揣著相機與錄音,去河邊找鬼雕欺。 笑死岛马,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的屠列。 我是一名探鬼主播啦逆,決...
    沈念sama閱讀 40,999評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼笛洛!你這毒婦竟也來了夏志?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,914評論 0 277
  • 序言:老撾萬榮一對情侶失蹤撞蜂,失蹤者是張志新(化名)和其女友劉穎盲镶,沒想到半個月后侥袜,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,465評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡溉贿,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,543評論 3 342
  • 正文 我和宋清朗相戀三年枫吧,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片宇色。...
    茶點故事閱讀 40,675評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡九杂,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出宣蠕,到底是詐尸還是另有隱情例隆,我是刑警寧澤,帶...
    沈念sama閱讀 36,354評論 5 351
  • 正文 年R本政府宣布抢蚀,位于F島的核電站镀层,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏皿曲。R本人自食惡果不足惜唱逢,卻給世界環(huán)境...
    茶點故事閱讀 42,029評論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望屋休。 院中可真熱鬧坞古,春花似錦、人聲如沸劫樟。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,514評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽叠艳。三九已至奶陈,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間虑绵,已是汗流浹背尿瞭。 一陣腳步聲響...
    開封第一講書人閱讀 33,616評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留翅睛,地道東北人。 一個月前我還...
    沈念sama閱讀 49,091評論 3 378
  • 正文 我出身青樓黑竞,卻偏偏與公主長得像捕发,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子很魂,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,685評論 2 360

推薦閱讀更多精彩內(nèi)容

  • //我所經(jīng)歷的大數(shù)據(jù)平臺發(fā)展史(三):互聯(lián)網(wǎng)時代 ? 上篇http://www.infoq.com/cn/arti...
    葡萄喃喃囈語閱讀 51,236評論 10 200
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法扎酷,類相關(guān)的語法,內(nèi)部類的語法遏匆,繼承相關(guān)的語法法挨,異常的語法谁榜,線程的語...
    子非魚_t_閱讀 31,664評論 18 399
  • 歌詞: 晚風(fēng)吹過青青湖畔到我耳邊, 霞光透過層層金邊露出一些凡纳, 酒呀肉呀搖呀晃呀窃植, 快活一眨眼, 晚風(fēng)陣陣夏至一去...
    蘋果檸檬的橙子閱讀 525評論 0 0
  • 總覺得應(yīng)該寫點什么荐糜,寫點關(guān)于我第一次出行的點點滴滴巷怜。或許是害怕自己會丟失寫日記這個看似還不錯的習(xí)慣暴氏,或許是想記錄下...
    咸魚yzl閱讀 308評論 4 0
  • 今生只為你 作者:雨涵冷妍 每一次劃過觸屏的黑夜 你總是掠過心頭的惆悵 你的笑里深藏著難以捉摸的迷離 你的聲音里蘊...
    雨涵冷妍閱讀 128評論 0 0