Javascript数组对象用regexp替换数据

时间:2014-11-29 23:58:30

标签: javascript arrays regex

我有像这样的对象数组:

test = [",postContent", ",All", ",true", ",270", ",360", ",true", ",true", 
        ",true", ",undefined", ",undefined", ",undefined", ",undefined",
        ",true", ",true", ",302612", ",2668", ",185", ",292", ",6433",
        ",1846", ",843", ",3272", ",4458", ",2069", ",642", ",20", ",5",
        ",25", ",20", ",6", ",101", ",19", ",66", ",44", ",true", ",true",
        ",true", ",true", ",true", ",true", ",true", ""];

你可以看到它的对象数组,我不能使用test.replace(regexp)

在这种情况下,如何使用object array?

替换"之后的所有逗号

2 个答案:

答案 0 :(得分:1)

您可以使用Array.prototype.map

test = test.map(function(item){
    return item.replace(/^,/, '');
});

或者,假设所有条目都以,开头或者是空字符串,这应该更快

test = test.map(function(item){
    return item.substr(1);
});

答案 1 :(得分:-1)

这样做:

test = test.join("-").replace(",","").split("-");

请注意,您的文字可能不包含' - '工作的字符。 你可以更换两个" - "带有足够复杂的分隔符变量。

test.join("-")将数组测试转换为字符串",postContent-,All-,true...".replace(",","")将使用空字符替换字符串中的逗号,以便字符串为"postContent-All-true...",最后.split("-")将最后一个字符串转换为数组["postContent", "All", "true", ...]从而生成所需的输出。