JavaScript - 需要多维数组吗?

标签 javascript arrays performance

我有一个看起来像这样的字符串:

PRE_VALUE1="TIMESTAMP" PRE_VALUE2="String13" PRE_VALUE3="" PRE_VALUE4="1" PRE_VALUE5="AK" PRE_VALUE6="key6" POST_VALUE1="000" VALUE8="KE_Y1" PRE_VALUE9="" PRE_VALUE10="10.10.10.10" ....

我的目标是拆分每个 PRE_VALUE# 的第二个引号后面的字符串。之后,我想构建一个简单的正则表达式来检查 PRE_VALUE# 的引号中是否有内容。

上面的部分对我来说已经很清楚了。我将使用 split-Method - 这是我的问题,我不确定如何告诉 split-Method 它应该在第二个引号而不是第一个引号处拆分字符串。

但是,我真正关心的是,如果拆分值与 RexExp 与变量匹配,我想分配它们。在将它们分配给该变量之前,应该有一个简单的单词来解释该字段。 例如:

PRE_VALUE2="String13" is going to be "String: String13".

如果我理解正确的话,最好最快的方法是在这里使用多维数组。由于有很多这样的消息,并且“PRE_VALUE#”仅通过 RegExp 为完整输入字符串构建它应该有点慢,对吗?

也许有人可以帮助我。

提前致谢!

最佳答案

您可以先用空格分割字符串,然后再用=分割,以获取数组中的所有相关如下所示:

[ [ "PRE_VALUE1", "TIMESTAMP" ], [ "PRE_VALUE2", "String13" ], [ "PRE_VALUE3", "" ], [ "PRE_VALUE4", "1" ], [ "PRE_VALUE5", "AK" ], [ "PRE_VALUE6", "key6" ], [ "POST_VALUE1", "000" ], [ "VALUE8", "KE_Y1" ], [ "PRE_VALUE9", "" ], [ "PRE_VALUE10", "10.10.10.10" ] ]

代码应该是这样的:

var arr = string.split("\" ").map(x => {
  x = x.replace(/\"/g, '');
  return x.split("=");
});

演示:

let string = `PRE_VALUE1="TIMESTAMP" PRE_VALUE2="String13" PRE_VALUE3="" PRE_VALUE4="1" PRE_VALUE5="AK" PRE_VALUE6="key6" POST_VALUE1="000" VALUE8="KE_Y1" PRE_VALUE9="" PRE_VALUE10="10.10.10.10"`;

var arr = string.split("\" ").map(x => {
  x = x.replace(/\"/g, '');
  return x.split("=");
});
console.log(arr);

关于JavaScript - 需要多维数组吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60108968/

相关文章:

javascript - 以编程方式调整 H div 和 C div 的大小以及调整器

c# - 遍历一个对象数组; foreach(var... 与 foreach(object

algorithm - 低内存排序

java - Java中的模数慢吗?

python - 加速 Pandas cummin/cummax

javascript - AngularJS $注入(inject)器: unknown provider

javascript - Sails Js 填充条件

javascript - 使用jquery将html元素的所有绑定(bind)事件保留特定时间

arrays - 循环数组中@的目的?

Java数组: how to insert delete items in array 1D and 2D