js es6 標籤模板還原字串

2022-03-02 05:12:55 字數 1204 閱讀 5727

模板字串的功能,它可以緊跟在乙個函式名後面,該函式將被呼叫來處理這個模板字串。這被稱為「標籤模板」功能(tagged template)。

舉個栗子:

第乙個引數是陣列,使用變數進行切割。

後面是變數的值。

那麼其切割的規則是什麼呢?如何還原字串呢?請看正文。

分兩種情況:

第一種情況:

a b c d e

a c是我們輸入的,其他類推哈。

這個是因為e是「」,string陣列中最後乙個一定是「」。

回到原題:a、c是我們的自己輸入的,那麼b、d就是使用者輸入的,看下面乙個函式:

為什麼統一這樣寫?,因為${}不確定是多少,所以去用argument去代替,比如說argument,argument以此類推。

那麼a就是 stratrr[0],b就是arg[1],c就是stratrr[1],d就是arg[2],e就是arg[2]

如果是這種情況就好辦了,只要把a拿出來,後面就是arg[1]+stratrr[1]+arg[2]+arg[2],

是不是很有順序?直接看**吧。

function restore(strattr) 

return output;

}console.log(restore `你好$感謝你$`);

輸出結果:

第二種情況

a、b、c、d、e這時候就是a、c是${},而b、d、e是原有格式字串。

同樣如此:

a為arg[1],b為strattr[0],c為arg[2],d為strattr[1],e為strattr[2]

很有規律arg[1]下乙個就是strattr[0],減了一,而e為「」,我們不必要去管。

所以**如下:

function restore(strattr) 

return output;

}console.log(restore `$感謝你$謝謝`);

把兩個函式合併一下,用bool型別做判斷即可。

js es6語法 字串和陣列的方法

s的方法 根據index取value 取首尾項,arr 0 arr arr.length 1 根據value取index 判斷是否包含子字串 s.indexof 栗子 maotai indexof mao 如果不包含則返回 1,如果包含返回子字串下標 取切片s.substr 1,3 含3 s.sub...

備忘錄 js es6中新增的字串方法

1.string.fromcodepoint 可以識別大於0xffff的碼點,彌補string.fromcharcode 的不足 返回乙個字串 2.string.raw 返回乙個斜槓都被轉義的字串,主要用於處理模板字串 模板字串 string.raw hi n 返回 hi n string.raw ...

字串還原

小k是一位蔚藍教主的崇拜者 orz教主er 有一天,他收到了一封匿名信,信告訴了小k由於他表現出色,得到了一次當面orz教主的機會,但是要當面orz教主可不那麼容易,不是每個人都有資格orz教主的。所以要破解下面一段密文才可以得到相關的資訊,信中有提供加密的規則,但是小k覺得這個問題看似複雜,所以想...