0

我在语法上使用类似于 javascript 的一次性语言,所以用这种更通用的语言回答就足够了。

我有一个名称/值对的列表,它是从一个看起来像这样的大 GET 字符串构建的

"n1=v1,n2=v2..."

我不确定我最初的方法是否正确。我在这种语言中使用了原语

tolist(GETstring,"=")

将名称值对拆分为上述列表。也许,这是从大门走错了路。

这给了我

data = [["n1","v1"],["n2","v2"],...]

我正在尝试将其更改为命名数组,例如

data["n1"]="v1";
data["n2"]="v2";
...

这样我就可以按名称访问项目,而不是按列表索引(因为它是高度可变的)

以这种格式获取数据的更好方法是什么。我尝试了一些,包括评估,但似乎没有任何效果。

4

2 回答 2

2

您必须将字符串拆分然后遍历它。

var obj = {};
var originalString = "n1=v1,n2=v2";
var splitOriginalString = originalString.split(",");
for (var i = 0; i < splitOriginalString.length; i++) {
    var tmpObj = splitOriginalString[i].split("=");
    obj[tmpObj[0]] = tmpObj[1];
}
于 2013-10-15T18:14:42.290 回答
0

没有办法做到这一点。你有两种方法可以做workaround

  1. 创建两个数组,一个用于键,一个用于值。

    var indexes = ["test", "test2"];
    var values = ["val", "val2"];
    var value = values[indexes.indexOf("test2")]; // will get "val2"
  2. 0为您的字符串键创建嵌套数组,并1为其值创建嵌套数组。

于 2013-10-15T18:07:36.363 回答