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

資訊專欄INFORMATION COLUMN

【譯】JS基礎算法腳本:查找字符串中最長的子字符

forsigner / 1256人閱讀

摘要:返回一組數中的最大值。返回數組中所有元素的連接起來的字符串,參數默認為,根據返回一個從開始參數到結束參數的新數組,不改變原數組有其他好的方法或思路的道友,不妨在沙發區神交一番。

需求

給出一個字符串,查找字符串中最長的子字符,并返回其長度

findLongestWord("Google do a barrel roll")
思路1

字符串分割

循環判定,暫存較大值

循環結束,返回最大值變量的長度

function findLongestWord(str) {
    var newArr = str.split(" "),
        maxStr = newArr[0];
    for(var i=0;i maxStr.length)
        maxStr = newArr[i];
    }
    
    return maxStr.length;
}

findLongestWord("Google do a barrel roll"); //6
思路2

切割字符串為數組

使用arr.reduce()調用Math.max()返回數組最大值

function findLongestWord(str) {
    return str.split(" ").reduce(function(x,y) {
        return Math.max(x,y.length);
    },0)   
}

findLongestWord("Google do a barrel roll"); //6
思路三

1.切割字符串為數組
2.判斷索引0,1的長度,如果0<1,則刪除1,返回自身函數;
如果0>1,則返回從自身函數,參數為從1開始的新字符串

function findLongestWord(str) {
    var newArr = str.split(" ");
    if(newArr.length === 1) {
        return newArr[0].length;
    } else if(newArr[0].length >= newArr[1].length) {
        newArr.splice(1,1);
        return findLongestWord(newArr.join(" "));
    } else {
        return findLongestWord(newArr.slice(1,newArr.length).join(" "));
    }
}

findLongestWord("Google do a barrel roll"); //6
相關
str.split()

返回一個根據參數分割字符串為包含其子字符的數組,不改變原字符串

array.reduce(function(accumulator, currentValue, currentIndex, array), initialValue)

reduce 為數組中的每一個元素依次執行回調函數,不包括數組中被刪除或從未被賦值的元素

回調函數第一次執行時,accumulator 和 currentValue 的取值有兩種情況:調用 reduce 時提供initialValue,accumulator 取值為 initialValue ,currentValue 取數組中的第一個值;沒有提供 initialValue ,accumulator 取數組中的第一個值,currentValue 取數組中的第二個值。

Math.max()

返回一組數中的最大值。

arr.join()

返回數組中所有元素的連接起來的字符串,參數默認為","

arr.slice(begin,end)

根據返回一個從開始參數到結束參數的新數組,不改變原數組

有其他好的方法或思路的道友,不妨在沙發區神交一番。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/84662.html

相關文章

  • JS基礎算法腳本:回文檢測

    摘要:返回一個新的字符串,表示串轉換為小寫的調用字符。不會影響字符串本身的值。返回一個包含子字符的數組,確定分割位置。將數組中所有子元素拼接成一個字符串,不改變原數組。 需求 給出一個字符串,檢測是否是回文,是則返回true,不是則返回false(忽略標點符號,大小寫,空格) palindrome(A man, a plan, a canal. Panama) should return t...

    Turbo 評論0 收藏0
  • JS基礎算法腳本:驗證字符包含關系

    摘要:需求給出一個包含兩個字符串的數組。方法用于判斷一個字符串是否包含在另一個字符串中,根據情況返回或。方法為數組中的每個元素執行一次函數,直到它找到一個使返回表示可轉換為布爾值的值的元素。有其他好的方法或思路的道友,不妨在沙發區神交一番。 需求 給出一個包含兩個字符串的數組。驗證第二個字符的子字符全被第一個字符包含(忽略大小寫)是則返回true;否則返回false mutation([he...

    isaced 評論0 收藏0
  • [算法總結] 搞定 BAT 面試——幾道常見的子符串算法

    摘要:第一種方法常規方法。如果不存在公共前綴,返回空字符串。注意假設字符串的長度不會超過。說明本題中,我們將空字符串定義為有效的回文串。示例輸入輸出一個可能的最長回文子序列為。數值為或者字符串不是一個合法的數值則返回。 說明 本文作者:wwwxmu 原文地址:https://www.weiweiblog.cn/13s... 作者的博客站點:https://www.weiweiblog.c...

    chanjarster 評論0 收藏0
  • JS基礎算法腳本查找數組每項的最大值

    摘要:方法對累加器和數組中的每個元素從左到右應用一個函數,將其減少為單個值。有其他好的方法或思路的道友,不妨在沙發區神交一番。對的方法有較深理解的的請指點下,這里有點蒙 需求 給出一個2維數組,查找每項子數組中的最大值,返回包含最大值的新數組 largestOfFour([[13, 27, 18, 26], [4, 5, 1, 3], [32, 35, 37, 39], [1000, 100...

    Amio 評論0 收藏0
  • JS基礎算法腳本:子字符字符大寫

    摘要:一個用來創建新子字符串的函數,該函數的返回值將替換掉第一個參數匹配到的結果。返回值一個部分或全部匹配由替代模式所取代的新的字符串。 需求 給出一字符串,返回子字符首字符大寫的字符串 titleCase(Im a little tea pot) should return Im A Little Tea Pot. 思路1 字符串小寫后切割為數組 for循環操作數組元素的首字符 拼接字符...

    Worktile 評論0 收藏0

發表評論

0條評論

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