国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

阿里筆試 字符串轉(zhuǎn)化為層級對象

RobinQu / 944人閱讀

摘要:問題描述師姐參加阿里的筆試,也跟著去學(xué)學(xué)名企的編程題都考什么如下格式的一個(gè)字符串,要轉(zhuǎn)化成一個(gè)有層級關(guān)系的對象。

問題描述

師姐參加阿里的筆試,也跟著去學(xué)學(xué)名企的編程題都考什么?

如下格式的一個(gè)字符串,要轉(zhuǎn)化成一個(gè)有層級關(guān)系的對象。

[abc[def[ghi]]]
{
    value: "abc",
    child: {
        value: "def",
        child: {
            value: "ghi"
        }
    }
}
分析

實(shí)現(xiàn)
/**
 * 字符串轉(zhuǎn)換
 * @param  {[type]} string 原始字符串
 * @return {[type]}        帶有層級關(guān)系的對象
 */
self.transfer = function(string) {
    // 去除首尾字符
    var newStr = self.removeStartAndEnd(string);
    // 獲取本字符串的有效值
    var value  = self.getValue(newStr);

    // 初始化嵌套變量
    var nestOrNot = false;
    var child = {};
    
    // 構(gòu)造返回對象
    var object = {
        value: value
    };

    // 如果嵌套,遞歸獲取屬性
    if (self.isNest(newStr)) {
        nestOrNot = true;
        child = self.transfer(self.cutSonString(newStr));
    }

    // 如果嵌套,返回對象添加child屬性
    if (nestOrNot) {
        object.child = child;
    }
    
    return object;
};

細(xì)節(jié)實(shí)現(xiàn)

以下是一些對上面用到的方法實(shí)現(xiàn),有興趣的可以看看,都是一些基本操作:

/**
 * 獲取該字符串相關(guān)的有效值
 * @param  {[type]} string 原始字符串
 * @return {[type]}        該字符串中的有效值
 */
self.getValue = function(string) {
    if (string.indexOf("[") !== -1) {
        return string.substring(0, string.indexOf("["))
    } else {
        return string;
    }
};

/**
 * 判斷是否嵌套
 * @param  {[type]}  string 字符串
 * @return {Boolean}        嵌套true/false
 */
self.isNest = function(string) {
    if (string.indexOf("[") !== -1) {
        return true;
    } else {
        return false;
    }
};

/**
 * 去除字符串首尾的字符
 * @param  {[type]} string 原始字符串
 * @return {[type]}        去除首尾字符字符串
 */
self.removeStartAndEnd = function(string) {
    return string.substring(1, string.length - 1);
};

/**
 * 切割子串
 * @param  {[type]} string 原始字符串
 * @return {[type]}        嵌套的子串
 */
self.cutSonString = function(string) {
    return string.substring(string.indexOf("["), string.lastIndexOf("]") + 1);
};
總結(jié)

也算是看過不少筆試題,覺得名企的編程題是最有意義的,多去看看這些名企的題,也能對自身有所提升。

但是不推薦看小公司的筆試題,這些小公司為了顯示自己的水平高,然后就把題出的特別難,感覺也沒多大的提升,什么動態(tài)規(guī)劃啥的,不會還是不會,筆試就一個(gè)小時(shí),要是能寫出來估計(jì)就去Google了。

當(dāng)經(jīng)歷的比較多時(shí),框架僅僅是我們的工具,隨著現(xiàn)在越來越優(yōu)秀的設(shè)計(jì)模式與設(shè)計(jì)思想,我們學(xué)習(xí)框架的成本越來越低。

當(dāng)發(fā)現(xiàn)框架千篇一律時(shí),沒事想想算法會讓我們的思路煥然一新。編程,算法是內(nèi)功,框架是技能。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/97542.html

相關(guān)文章

  • 記錄一下自己的春招,唯品會、360、京東offer已收、騰訊offer_call已達(dá)!!!

    摘要:春招結(jié)果五月份了,春招已經(jīng)接近尾聲,因?yàn)榈搅酥芪逋砩蟿偤糜锌眨院唵蔚赜涗浺幌伦约旱拇赫羞^程。我的春招從二月初一直持續(xù)到四月底,截止今天,已經(jīng)斬獲唯品會電商前端研發(fā)部大數(shù)據(jù)與威脅分析事業(yè)部京東精銳暑假實(shí)習(xí)生的騰訊的是早上打過來的。 春招結(jié)果 五月份了,春招已經(jīng)接近尾聲,因?yàn)榈搅酥芪逋砩蟿偤糜锌眨院唵蔚赜涗浺幌伦约旱拇赫羞^程。我的春招從二月初一直持續(xù)到四月底,截止今天,已經(jīng)斬獲唯品...

    freewolf 評論0 收藏1
  • [ 前端筆試 ] 2016阿里巴巴校招前端筆試部分試題 ( 持續(xù)更新...)

    摘要:更新圖片單擊可放大第題第題第題第題第題第題第題忘了第題第題后面幾題沒截到圖啊。實(shí)現(xiàn)格式化輸出,比如輸入,輸出為運(yùn)用設(shè)置讀取刪除寫個(gè)函數(shù)啥的給出,叫你添加完成一個(gè)樣式設(shè)置,感覺比較簡單,可能掉坑了。明天要考的同學(xué)也可以看看題型。 2015.4.1 更新 【圖片單擊可放大】 第1題 showImg(https://segmentfault.com/img/bVleCL); ...

    defcon 評論0 收藏0
  • 我的春招求職經(jīng)驗(yàn)分享(已拿阿里京東網(wǎng)易等 5 個(gè) offer)

    摘要:面經(jīng)因?yàn)槲彝耆珱]有面試經(jīng)驗(yàn),從來沒有經(jīng)歷過面試,于是想著在去這類大公司面試之前先找成都的小公司練練手,積累點(diǎn)面試經(jīng)驗(yàn)。于是三月份開始就有成都的小公司開始約我面試。 前序 從我高考成績出來那一刻開始,從我在高考志愿上填上計(jì)算機(jī)科學(xué)與技術(shù)這幾個(gè)當(dāng)時(shí)在心中堪稱神圣的幾個(gè)字開始,我就已經(jīng)把進(jìn)入中國互聯(lián)網(wǎng)最高殿堂BAT作為我整個(gè)大學(xué)奮斗的目標(biāo),哪怕我就讀的是一所位于內(nèi)陸的雙非一本大學(xué)我也認(rèn)為我能...

    Winer 評論0 收藏1
  • 如何準(zhǔn)備校招技術(shù)面試

    摘要:網(wǎng)易跨境電商考拉海購在線筆試現(xiàn)場技術(shù)面面。如何看待校招面試招聘,對公司而言,是尋找勞動力對員工而言,是尋找未來的同事。 如何準(zhǔn)備校招技術(shù)面試 標(biāo)簽 : 面試 [TOC] 2017 年互聯(lián)網(wǎng)校招已近尾聲,作為一個(gè)非 CS 專業(yè)的應(yīng)屆生,零 ACM 經(jīng)驗(yàn)、零期刊論文發(fā)表,我通過自己的努力和準(zhǔn)備,從找實(shí)習(xí)到校招一路運(yùn)氣不錯(cuò),面試全部通過,謹(jǐn)以此文記錄我的校招感悟。 寫在前面 寫作動機(jī) ...

    MkkHou 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<