JavaScript文本编码器开发问题:多单词$连接输出不符合预期
修正文本编码器的JavaScript实现
问题原因
当前代码存在三个核心问题:
- 数组直接与字符串拼接时,会触发数组的
toString()方法,默认用逗号分隔元素,导致输出出现逗号而非要求的$ - 最终输出缺少结尾的
$,不符合首尾都包裹$的格式要求 - 原代码仅调用了
x.all(),未执行y.all()和z.all(),无法输出预期的三组结果
修正后的代码
class Add { constructor(...words) { this.words = words; } all() { // 用$连接所有单词,再在首尾添加$ const encodedStr = '$' + this.words.join('$') + '$'; console.log(encodedStr); } } var x = new Add("hehe", "hoho", "haha", "hihi", "huhu"); var y = new Add("this", "is", "awesome"); var z = new Add("lorem", "ipsum", "dolor", "sit", "amet", "consectetur", "adipiscing", "elit"); x.all(); y.all(); z.all();
代码说明
- 利用数组的
join('$')方法,将输入的所有单词用$连接成连续字符串 - 在连接后的字符串首尾各添加一个
$,完美匹配$单词1$单词2$...$单词n$的格式 - 补充调用
y.all()和z.all(),输出三组符合预期的结果
内容的提问来源于stack exchange,提问作者user20540744
相关产品推荐
相关产品推荐

