【发布时间】:2012-10-05 04:01:00
【问题描述】:
我想从一个字符串创建一个选项数组。我怎样才能创建一个数组作为
{
width : 100,
height : 200
}
来自类似的字符串
'width=100&height=200'
有没有创建这样的数组?
【问题讨论】:
标签: javascript multidimensional-array
我想从一个字符串创建一个选项数组。我怎样才能创建一个数组作为
{
width : 100,
height : 200
}
来自类似的字符串
'width=100&height=200'
有没有创建这样的数组?
【问题讨论】:
标签: javascript multidimensional-array
这不是一个数组,它是一个对象。它也不是多维的。
但无论如何,您可以在& 分隔符上拆分字符串,然后在= 上拆分每个项目:
var input = 'width=100&height=200',
output = {},
working = input.split("&"),
current,
i;
for (i=0; i < working.length; i++){
current = working[i].split("=");
output[current[0]] = current[1];
}
// output is now the object you described.
当然,这不会验证输入字符串,并且不会满足同一属性出现多次的情况(在这种情况下,您可能希望创建一个值数组),但它应该可以帮助您入门。将上述内容封装在一个函数中会很好,但我留给读者作为练习......
【讨论】:
试试这个:
JSON.parse('{"' + decodeURI(myString.replace(/&/g, "\",\"").replace(/=/g,"\":\"")) + '"}')
【讨论】: