如何使用javascript替换数组项中的字符?

时间:2013-04-18 04:23:35

标签: javascript html5 javascript-events

我有一个动态的数组项目,如 [“{text:”US“}”,“{text:”Mexico“}”,“{text:”Brazil“}”] 。我需要将此字符“{>替换为此字符 {和此字符}”此字符} 。最后更换后我需要输出 [{text:“US”},{text:“Mexico”},{text:“Brazil”}] 。如果单个对象意味着我可以替换。但是对于数组列表没有得到。我试过如下,这一个不工作怎么能实现这一个?非常感谢。谢谢。

dynamicSubRegions =["{text: "US"}", "{text: "Mexico"}", "{text: "Brazil"}"];
var dynamicSubRegionsFinal = dynamicSubRegions[dynamicSubRegions.indexOf('"{')] = '{';

2 个答案:

答案 0 :(得分:0)

我假设您尝试将string值转换为json对象。

json密钥的格式存在问题,必须将其包装在""中,以使其成为JSON.parse(...)方法的有效输入,该方法可以将字符串转换为有效的json对象

var array = ["{text: \"US\"}", "{text: \"Mexico\"}", "{text: \"Brazil\"}"];

array.forEach(function(value, key){
    array[key] = JSON.parse(value.replace('{text:', '{"text":'));
})

演示:Fiddle

答案 1 :(得分:-1)

你的数组语法错误,双引号不在变量

dynamicSubRegions =["{text: \"US\"}", "{text: \"Mexico\"}", "{text: \"Brazil\"}"];
alert(dynamicSubRegions[0]);

http://jsfiddle.net/dftgY/