3

我正在尝试制作一个从字符串中删除多余空格的程序。我正在尝试制作我期望需要的前两个功能。在做了一些测试并咨询了一位同学之后,我无法弄清楚第二个功能有什么问题(我相当有信心这是第二个功能)?

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;
};
4

2 回答 2

3

s = s.replace(/^\s+/,"");会比运行循环更简单。

这是因为 javascript 的正则表达式已经知道什么是空格 ( \s) 并且知道如何从字符串的开头提取 ( ^) 并且可以自行递归 ( +)。

于 2012-11-08T03:50:24.583 回答
1

利用s=s.replace(s.charAt(i), '');

replace 方法不会修改原始字符串 - 它返回一个值。

于 2012-11-08T03:49:33.047 回答