【发布时间】:2019-05-14 09:57:14
【问题描述】:
我有这个字符串(称为 currentExecution.variables):
{executionid=0c3246fb37e65e3368c8c4f30000016ab593bec244daa8df, timeout=10000}
并且我需要将其转换为 Map 以便我可以处理这些条目,但我很难做到这一点。我已经尝试按照this answer 将其转换为一组键值对。首先,我将 = 替换为 : 并将 { 或 } 替换为空格,然后根据答案将其拆分:
newString.split(/,(?=[^,]+:)/).map(s => s.split(': '));
但我没有得到正确的结果,而且我在没有地图的情况下被困住了。少了什么东西?还是有更好/更快的方法来做到这一点?
【问题讨论】:
-
假设第一部分有效:你有
'='可以拆分,而不是': '(尤其是没有空格)。 -
为什么?如果我将 = 替换为 :,我将无法拆分 =
-
我说过我已经用 : 替换了我的 =。因此生成的字符串将与原始字符串相同,但使用 : 而不是 =。然后在这个字符串上进行拆分。
-
@Dseaster 你说得对,我错过了那部分。
-
@Dseaster Map 在Map object 中,或者 Map 只是一个对象,就像解析后的 json 会产生什么?
标签: javascript arrays string split