Javascript 在数组值中添加引号

Javascript 在数组值中添加引号,javascript,Javascript,我有一个从文件接收到的对象形式的字符串数组,只需要在数组中的字符串对象的参数名周围以及在方括号之间的值周围添加引号,即可将这些字符串转换为正确的对象 ["{Durdham Hall Electric: [e4.kwh]}", "{University Hall Substation: [e1.kwh]}", "{University Hall Substation: [e2.kwh]}"] 我不知道如何循环遍历值并在所需部分添加所需符号。您可以使用Regex和forEach来执行此操作:

我有一个从文件接收到的对象形式的字符串数组,只需要在数组中的字符串对象的参数名周围以及在方括号之间的值周围添加引号,即可将这些字符串转换为正确的对象

["{Durdham Hall Electric: [e4.kwh]}", "{University Hall Substation: [e1.kwh]}", 
"{University Hall Substation: [e2.kwh]}"]

我不知道如何循环遍历值并在所需部分添加所需符号。

您可以使用Regex和
forEach
来执行此操作:

var数据=[“{Durdham Hall Electric:[e4.kwh]}”,“{大学大厅变电站:[e1.kwh]}”,
“{大学大厅变电站:[e2.kwh]}”];
data.forEach(函数(v,i){
data[i]=JSON.parse(v.replace(/{(+):\s\[(.*)\]}/g,{“$1”:[“$2”]}”);
});

console.log(数据);//打开控制台查看结果
如果字符串总是以{开头,则可以使用子字符串,然后将字符串重新组合在一起

String part1;
String part2;
String result;

String str = "{Durdham Hall Electric: [e4.kwh]}"
然后使用的索引查找:

part1 = str.subString(1, str.indexOf(":"));
part2 = str.subString(str.indexOf(":"), str.length());
result = "{\"" + part1 + "\"" + part2;
相信这样的方法是可行的,但是你必须做一些假设。这只适用于单个元素,因此你的字符串数组中的每个项都有一个循环。

可能会改变

options.push('<option value="' + '{' + data[devices][1] + ': ' + '[' + 'e' + i + '.kwh' + ']' + '}' + '" >' + meterName + '</option>')
options.push(“”+meterName+“”)
对于类似这样的东西,您会得到一个很好的parsable JSON

var数据=[[0,'Durdham Hall Electric:']],
设备=0,
meterName=‘meterName’,
i=3,
期权=[];
选项。推送(“”+meterName+“”);

警报(选项);
这是来自json文件吗?为自己提供适当的json(即不引用对象,但引用键/值的json)不是更容易吗考虑固定源/如何获取数据。您甚至不能将那些字符串。从一个JavaScript文件到另一个JavaScript文件的数组形式的数据。这些值是从选项元素值中获得的,因此没有其他方法发送它们。他是阵列?