我正在尝试创建一个从字符串中删除多余空格的程序。我正在尝试制作我期望需要的前两个功能。在做了一些测试并咨询了同学后,我无法弄清楚第二个函数出了什么问题(我相信它是第二个函数)?
var isWhiteSpace = function(char) {
var out = false;
if (char === ' ' || char === '\f' || char === '\n' || char === '\r' || char === '\t') {
out = true;
}
return out;
};
var removeLeadingSpaces = function(s) {
var i;
for (i = 0; i < s.length; i++) {
if (isWhiteSpace(s.charAt(i))) {
s.replace(s.charAt(i), '');
}
}
return s;
};
答案 0 :(得分:3)
s = s.replace(/^\s+/,"");
比运行循环更简单。
这是因为javascript的正则表达式已经知道什么是空格(\s
)并且知道如何从字符串的开头(^
)拉出来并且可以自己递归({{1} })。
答案 1 :(得分:1)
使用s=s.replace(s.charAt(i), '');
replace方法不会修改原始字符串 - 它会返回一个值。