从string创建多维数组

时间:2012-10-15 07:42:43

标签: javascript multidimensional-array

  

可能重复:
  Parse query string in JavaScript

我想从字符串创建一个options数组。我如何创建一个数组

{
    width : 100, 
    height : 200
}

来自

之类的字符串
'width=100&height=200'

是否要创建这样的数组?

2 个答案:

答案 0 :(得分:1)

试试这个:

JSON.parse('{"' + decodeURI(myString.replace(/&/g, "\",\"").replace(/=/g,"\":\"")) + '"}')

答案 1 :(得分:1)

这不是一个数组,它是一个对象。它也不是多维的。

但无论如何,您可以在&分隔符上拆分字符串,然后在=上拆分每个项目:

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.

当然这不会验证输入字符串,并且不能满足同一属性出现多次的时候(在这种情况下你可能想创建一个值数组),但它应该让你开始。将上述内容封装在一个函数中会很好,但我将其作为练习留给读者......