我在语法中使用类似于javascript的一次性语言,所以用这种更常用的语言来回答就足够了。
我有一个名称/值对的列表,我是从一个看起来像
的大GET字符串构建的"n1=v1,n2=v2..."
我不确定我的初步方法是否正确。我用这种语言中的原语
tolist(GETstring,"=")
将名称值对拆分为上面的列表。也许,这是从大门出发的错误做法。
这给了我
data = [["n1","v1"],["n2","v2"],...]
我正在尝试将其更改为命名数组,例如
data["n1"]="v1";
data["n2"]="v2";
...
这样我就可以按名称访问项目,而不是按列表索引访问(因为它是高度的)
以这种格式获取数据的更好方法是什么?我尝试过一些包括逃避的东西,但似乎没什么用。
答案 0 :(得分: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];
}
答案 1 :(得分:0)
没有选择这样做。你有两种方法workaround
。
创建两个数组,一个用于键,另一个用于值。
var indexes = ["test", "test2"];
var values = ["val", "val2"];
var value = values[indexes.indexOf("test2")]; // will get "val2"
为您的字符串键创建包含键0
的嵌套数组,并为其值创建1
。