gpt4 book ai didi

javascript - 不使用reverse()方法。如何保持反向字符串上的原始字符串顺序、空格和标点符号?

转载 作者:行者123 更新时间:2023-11-28 11:29:31 25 4
gpt4 key购买 nike

我可以使用 for 循环,而无需使用辅助方法来反转字符串。但是,如何保持字符串的原始顺序、空格和标点符号呢?

如果不使用 reverse() 辅助方法,我可以反转字符串,但无法保持单词和标点符号的顺序。

// Reverse preserving the order, punctuation without using a helper
function reverseWordsPreserveOrder(words) {
let reverse = '';
for (let i = words.length -1; i >= 0; i--) {
reverse += words[i];
}
return reverse;
}


console.log(reverseWordsPreserveOrder('Javascript, can be challenging.'))

// output-> .gnignellahc eb nac ,tpircsavaJ

我希望结果是这样的:

// output-> tpircsavaJ, nac eb gnignellahc.

最佳答案

我会使用正则表达式和替换函数:将连续单词字符与 \w+ 匹配,并在替换函数中使用 for 循环进行反转子字符串,并返回它:

function reverseSingleWord(word) {
let reverse = '';
for (let i = word.length -1; i >= 0; i--) {
reverse += word[i];
}
return reverse;
}
const reverseWordsPreserveOrder = str => str.replace(/\w+/g, reverseSingleWord);
console.log(reverseWordsPreserveOrder('Javascript, can be challenging.'))

关于javascript - 不使用reverse()方法。如何保持反向字符串上的原始字符串顺序、空格和标点符号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56729162/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com