从Javascript数组中删除所有空格

3

我有一个数组需要去除空格,例如返回结果如下:

[book, row boat,rain coat]

但是,我想要移除所有的空格。

我在网上看到的所有指南都说要使用.replace,但似乎这只适用于字符串。以下是我的代码。

function trimArray(wordlist)
{
    for(var i=0;i<wordlist.length;i++)
    {
        wordlist[i] = wordlist.replace(/\s+/, "");
    }

}

我也尝试过replace(/\s/g, '');

非常感谢任何帮助!


1
你需要替换单个元素:wordlist[i] = wordlist[i].replace(/\s+/, "");。尝试使用像map这样的东西,它是一种更简洁的方法。请注意,你的替换函数将替换任何空白字符。如果你只想修剪(删除两端空白字符),使用 trim 函数:wordlist[i] = wordlist[i].trim() - nem035
[书, 划船, 雨衣] - 看起来不像是一个字符串数组。这是一个字符串还是你得到了[" 书", " 划船", " 船", " 衣"]? - nipuna-g
你想要所有的空格还是只是前后的空格?所以如果你的数组是这样的:["猫食"," 狗 ","鱼缸"],你也想要去掉猫食鱼缸中的空格吗?或者字符串中永远不会有空格? - Intervalia
2个回答

5

首先,您需要在数组引号中括起来单词,这将使它们成为字符串。否则,在循环中,您将收到未定义变量的错误。或者,可以使用更简洁的方式通过map()实现,如下所示:

const arr = ['book', 'row boat', 'rain coat'].map(str => str.replace(/\s/g, ''));

console.log(arr);


1
这将删除所有空格,甚至是文本中的空格:

    const result = ['  book','  row boat  ','rain coat  '].map(str => str.replace(/\s/g, ''));
    console.log(result);

这将仅删除前导和尾随空格:

    const result = ['  book',' row boat ','rain coat   '].map(str => str.trim());
    console.log(result);


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接