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
我们的源代码也就存在一点问题,
这里的赋值不能进行。我们可以在外围写一个空字符串,如果这个为空格,那么就不加,其他的都加也可以 达到去除空格的效果。
字符串是一个对象,它的索引很特殊,不能进行赋值。只能查看,不能更改。