如何解决如何在Javascript中交换字符串变量中的两个相邻字符
let string = 'abcdefghij'; 结果我想要字符串 = 'abdcefhgij'。 应该进行的更改是 cd 到 dc 和 gh 到 hg 字符串的其余部分保持不变。
解决方法
const string1 = 'abcdefghij'.replace(/[cd]/g,(c) => (c == 'c' ? 'd' : 'c'));
console.log(string1);
const string2 = string1.replace(/[gh]/g,(c) => (c == 'g' ? 'h' : 'g'));
console.log(string2);
我做到了。最终得到string2形式的结果。任何人都可以建议如何一次性完成?
,要一次性完成,请创建一个函数来映射您要交换的每个字符,如下所示:
function charReplace(char) {
if(char == 'c') return 'd';
if(char == 'd') return 'c';
if(char == 'g') return 'h';
if(char == 'h') return 'g';
}
然后您可以将此函数作为第二个参数传递给 replace
函数,如下所示:
const originalString = 'abcdefghij';
const replacedString = originalString.replace(/[cdgh]/g,($1) => charReplace($1));
如果您需要映射更多字符,只需在 if
函数中添加 charReplace
块。如果它太长,您可以通过将映射保留在数组中并返回正确索引处的元素来实现它。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。