js案例,string去除空格时遇到的问题

js字符串的去空格

首先有一个字符串,

var b = "abcd e"
for(var i =0;i<=b.length;i++){
        if(b[i]===" "){
            b[i] = "";
            console.log(b[i],"你好")
        }
    }
    console.log(b)

我们遍历字符串,如果等于空格,给它赋值为空字符串。
在这里插入图片描述
但是并没有效果。
我们看一下他索引为4的空格是什么?
在这里插入图片描述
首先,输出空格 ,字符串类型,然后判断全等于空格,还回true。
完全没有问题。但是为啥还是空格呀?
再看其中一点。

    var aa ="aaaa"
    aa[0] = "b"
    console.log(aa);

我们简单换个值,
在这里插入图片描述
并没有效果。
看来,不能通过索引来更改值。准确的说是,字符串并不能通过索引进行赋值。
就像这样:

    var aa ="aaa"
    aa[3] = "b"
    console.log(aa);

在这里插入图片描述
没有效果。
但是数组是可以赋值的。

    var d = [1,2,3,4,6]
    for(var i = 0;i<d.length;i++){
        d[i]=i;
    }
    console.log(d);

在这里插入图片描述

给每个都从新赋值了。
如果去除空格,我们可以先把字符串变成数组,用 split() 函数可以实现。

var b = "a    b d c";
e = b.split(" ");
console.log(e);

以空格切割成字符串
在这里插入图片描述
然后再让数组相加。

    var b = "a    b d c"
    e = b.split(" ")
    var c = ""
    
    for(var i =0;i<e.length;i++){
        c+=e[i];
    }
    console.log(e,c);

得到了没有空格的字符串c
在这里插入图片描述
我们的源代码也就存在一点问题,
在这里插入图片描述

这里的赋值不能进行。我们可以在外围写一个空字符串,如果这个为空格,那么就不加,其他的都加也可以 达到去除空格的效果。
字符串是一个对象,它的索引很特殊,不能进行赋值。只能查看,不能更改。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值