我一直无法弄清楚为什么当我在 replit 中运行此代码时,它会在答案和未定义之间返回一个额外的空格。 '\n' 必须存在才能按原样格式化,但任何人都可以解释如何摆脱空格吗?感谢任何帮助。
代码:
function transposeTwoStrings(array) {
var x = array[0];
var y = array[1];
var longestString = 0;
var result = '';
if(x.length > y.length) {
longestString = x;
}
else if(y.length > x.length) {
longestString = y;
}
else if(x.length === y.length) {
longestString = x;
}
for(var i = 0; i < longestString.length; i++) {
result += ((x[i] || ' ') + ' ' +(y[i] || ' ')) + '\n';
}
return result;
}
console.log(transposeTwoStrings(['Hello','World']));
Replit Output:
H W
e o
l r
l l
o d
<--(This is the space)
=> undefined
最佳答案
最后会出现一个换行符 \n
,某些浏览器会忽略该换行符。您可以使用 trim()
function transposeTwoStrings(array) {
var x = array[0];
var y = array[1];
var longestString = 0;
var result = '';
if (x.length > y.length) {
longestString = x;
}
else if (y.length > x.length) {
longestString = y;
}
else if (x.length === y.length) {
longestString = x;
}
for (var i = 0; i < longestString.length; i++) {
result += ((x[i] || ' ') + ' ' + (y[i] || ' ')) + '\n';
}
return result.trim();
}
console.log(transposeTwoStrings(['Hello', 'World']));
关于javascript - 为什么这个函数的输出中有一个额外的空格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42823793/