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

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

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

瀏覽:93日期: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
相關文章:
主站蜘蛛池模板: 桃江县| 马龙县| 曲松县| 柳林县| 天全县| 石河子市| 台安县| 金溪县| 中方县| 同江市| 安庆市| 福鼎市| 菏泽市| 伊春市| 西宁市| 五家渠市| 铜梁县| 石台县| 囊谦县| 舞阳县| 乌鲁木齐市| 通城县| 体育| 建水县| 凤阳县| 科尔| 莲花县| 高州市| 房山区| 洪泽县| 昌邑市| 宜章县| 通海县| 合江县| 温宿县| 建水县| 分宜县| 辽源市| 大兴区| 西乌| 色达县|