我试图让这个回文生成器工作,我无法弄清楚如何让js从多字回文中的单词之间删除空格。赛车不断回归虚假。赛车回归正确,因此部分代码正在运行。如何让JS忽略" race"之间的空格。和"汽车"那赛车回来了吗?
function palindrome(word) {
var len = word.length;
word = word.replace(/ +/g, "");
for (var i = 0; i < Math.floor(len/2); i++ ) {
if (word[i] !== word[len - 1 - i]) {
return "FALSE";
}
}
return "TRUE";
}
console.log(palindrome("race car"))
答案 0 :(得分:6)
只需你可以做到这一点,
let str = ' aaa aa ';
str = str.replace(/\s+/g,'');
console.log(str);
答案 1 :(得分:1)
您可以在将正则表达式传递给回文函数之前使用正则表达式执行此操作:
'race car'.replace(/\s+/, "")
'赛车'也可以替换为包含你的字符串的任何变量。
答案 2 :(得分:1)
希望此代码可以帮助您
var str = " this is a sample "
var res = str.replace(/ /g, "");
console.log(res);
O/P - 'thisisasample'
答案 3 :(得分:0)
你可以试试这个:
word = word.replace(/\s+/g, " ").trim();
它也将从正面和背面移除空间。
答案 4 :(得分:0)
你可以试试这个。
replace(/\s+/, " ")
答案 5 :(得分:0)
var len = word.length;
在改变之前得到len;
function palindrome(word) {
word = word.replace(/ +/g, "");
var len = word.length;
for (var i = 0; i < Math.floor(len / 2); i++) {
if (word[i] !== word[len - 1 - i]) {
return "FALSE";
}
}
return "TRUE";
}
console.log(palindrome("race car"))
&#13;
和
word = word.replace(/ +/g, "");
建议使用正则表达式:
word = word.replace(/\s+/g, "");
答案 6 :(得分:0)
在删除空格之前,您正在使用len
。
所以你要求返回undefined
的最后一个元素,导致没有匹配和FALSE输出。
尝试以下代码段:
function palindrome(word) {
word = word.replace(/ +/g, "");
var len = word.length;
for (var i = 0; i < Math.floor(len/2); i++ ) {
if (word[i] !== word[len - 1 - i]) {
return "FALSE";
}
}
return "TRUE";
}
console.log(palindrome("race car"))
&#13;
答案 7 :(得分:0)
请使用以下代码删除两个单词之间的空格。
word = word.replace(/\s/g, ''));