替换javascript数组中的字符串

时间:2009-06-04 21:49:26

标签: javascript arrays string

我在javascript中有一个数组。此数组包含逗号(“,”)的字符串。我希望从这个数组中删除所有逗号。可以这样做吗?

7 个答案:

答案 0 :(得分:43)

for(var i=0; i < arr.length; i++) {
 arr[i] = arr[i].replace(/,/g, '');
}

答案 1 :(得分:24)

现在最好的方法是以这种方式使用map()功能:

var resultArr = arr.map(function(x){return x.replace(/,/g, '');});

这是ECMA-262标准。 如果您对早期版本有所了解,可以在项目中添加这段代码:

if (!Array.prototype.map)
{
    Array.prototype.map = function(fun /*, thisp*/)
    {
        var len = this.length;
        if (typeof fun != "function")
          throw new TypeError();

        var res = new Array(len);
        var thisp = arguments[1];
        for (var i = 0; i < len; i++)
        {
            if (i in this)
                res[i] = fun.call(thisp, this[i], i, this);
        }

        return res;
    };
}

答案 2 :(得分:6)

您可以这样做:

array = ["erf,","erfeer,rf","erfer"];
array = array.map(function(x){ return x.replace(/,/g,"") });

现在数组变为:

["erf", "erfeerrf", "erfer"]

答案 3 :(得分:0)

当然 - 只需遍历数组并在每次迭代时执行标准删除。

或者,如果数组的性质允许,您可以先将数组转换为字符串,取出逗号,然后转换回数组。

答案 4 :(得分:0)

您还可以使用较短的语法进行内联

array = array.map(x => x.replace(/,/g,""));

答案 5 :(得分:0)

您可以使用array.mapforEach。根据我们的情况,array.map创建或指定了一个新数组。 forEach允许您处理现有数组中的数据。今天我像这样用它。

document.addEventListener("DOMContentLoaded", () => {
    // products service
    const products = new Products();
    // get producsts from API.
    products
    .getProducts()
    .then(products => {
        /*
        raw output of data "SHEPPERD'S SALLAD" to "SHEPPERDS SALLAD"
        so I want to get an output like this and just want the object 
        to affect the title proporties. other features should stay 
        the same as it came from the db.
        */ 
        products.forEach(product => product.title = product.title.replace(/'/g,''));
        Storage.saveProducts(products);
    });
});

答案 6 :(得分:-1)

给定变量s中的必需字符串: -

var result = s.replace(/,/g, '');