我在删除字符串中的逗号时遇到问题。
我尝试了replace
,substr
,remove
和slice
以及我在互联网上找到的所有其他内容。
function reverseWords(str){
var newstr = str.split(" ")
newstr.reverse()
var oldstr = newstr.toString()
oldstr.replace(',','')
return oldstr
};
我应该有'world! hello'
,而不是:'world!,hello'
答案 0 :(得分:1)
您的问题出在以下方面:oldstr.replace(',','')
不会修改字符串,而是返回新的字符串。
因此,正确的代码如下:
function reverseWords(str){
var newstr = str.split(" ")
newstr.reverse()
var oldstr = newstr.toString()
return oldstr.replace(',','')
};
编辑:实际上,reverse()
修改了数组(与replace()
不同),并且您不需要使用中间变量。更正了代码。
编辑2:正如其他人已经指出的那样,您的主要目标似乎是反转单词顺序,而不是删除逗号(这是尴尬的数组到字符串转换的产物)。在这种情况下,正确的代码应如下所示:
function reverseWords(str) {
return str.split(' ').reverse().join(' ');
}
答案 1 :(得分:0)
您需要将oldstr
分配给替换的版本:
function reverseWords(str) {
var newstr = str.split(" ")
newstr.reverse()
var oldstr = newstr.toString()
oldstr = oldstr.replace(',', '')
return oldstr;
};
答案 2 :(得分:0)
尝试一下:
const reverseWords = (str) => str.split(" ").reverse().toString().replace(',','');
console.log(reverseWords('world!,hello'))