注册 登录
编程论坛 JavaScript论坛

将字符串中连续的空格变成一个空格

java_haier 发布于 2018-03-31 16:58, 1595 次点击
写了一个函数,用以将字符串中连续的空格变成一个空格
如果不用正则,还有没有更简化的写法
代码如下:
function getChar(str){
    var arr = [];
    var isSpace = true;
    for(i = 0;i<str.length;i++){
        if(isSpace && (str[i] == '\t' || str[i] == " ")){
            continue;
        }
        if(str[i] == '\t' || str[i] == " "){
            isSpace = true;
            arr.push(str[i]);
        }
        else{
            isSpace = false;
            arr.push(str[i]);
        }
    }
    return arr;
}
1 回复
#2
林月儿2018-03-31 22:18
function getChar(str){
    var arr = [];
    var i=0;
    for(;i<str.length-1;i++){
        if(check(str[i])&&check(str[i+1])){
             continue;
        }
        arr.push(str[i]);
    }
    if(!(check(str[i-1])&&check(str[i]))){
       arr.push(str[i]);  
    }
    return arr;
}
function check(ele){
    return str[i] == '\t' || str[i] == " ";
}
1