久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

javascript - JS 利用eval構建replace函數無效

瀏覽:102日期:2023-03-23 17:02:31

問題描述

代碼含義:構建一個簡單的GADERYPOLUKI解碼器

The GADERYPOLUKI is a simple substitution cypher used in scouting to encrypt messages. The encryption is based on short, easy to remember key. The key is written as paired letters, which are in the cipher simple replacement.

example:

encode('ABCD', 'agedyropulik'); // => GBCE

代碼如下,我想用eval函數構建出可以替換字符的函數,但是貌似沒有用。

function decode(str,key) { key = key.split(’’) while (key.length>0) {let b = key.pop(), a = key.pop();eval(`str.replace(/${a}/g, '${b}')`)eval(`str.replace(/${a.toUpperCase()}/g, '${b.toUpperCase()}')`)eval(`str.replace(/${b}/g, '${a}')`)eval(`str.replace(/${b.toUpperCase()}/g, '${a.toUpperCase()}')`)console.log(a, b, str, `str.replace(/${a}/g, '${b}')`) } return str}console.log(decode('Hmdr nge brres', 'gaderypoluki'))console.log('Hmdr nge brres'.replace(/g/g, 'a'))>>> k i Hmdr nge brres str.replace(/k/g, 'i') l u Hmdr nge brres str.replace(/l/g, 'u') p o Hmdr nge brres str.replace(/p/g, 'o') r y Hmdr nge brres str.replace(/r/g, 'y') d e Hmdr nge brres str.replace(/d/g, 'e') g a Hmdr nge brres str.replace(/g/g, 'a') Hmdr nge brres Hmdr nae brres

問題解答

回答1:

replace 不會改變原有值,而是返回新串。

其實你可以用 new RegExp(a, ’g’) 就不需要 eval

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 甘孜县| 元江| 泰宁县| 醴陵市| 汶川县| 霞浦县| 济源市| 廉江市| 拜泉县| 锦州市| 当雄县| 武穴市| 洪泽县| 塘沽区| 公安县| 亳州市| 大理市| 芜湖县| 禄丰县| 大名县| 揭东县| 天水市| 北碚区| 体育| 石台县| 杭州市| 唐河县| 蓝山县| 赤水市| 射洪县| 武威市| 西林县| 肇庆市| 安达市| 镇江市| 桓仁| 九寨沟县| 文昌市| 阿拉善左旗| 罗源县| 张家口市|