将键/值对推入数组

时间:2014-10-24 16:40:36

标签: javascript arrays

我在Javascript中有一个字典(dictionaryish)变量。

var dict = {
  val1 : ["a", "b", "c"],
  val2 : ["d", "e", "f"],
  val3 : ["g", "h", "i"],
  ...
}

我希望能够将val1,val2,val3等添加到数组中,然后以JSON格式显示

{
  "Configs" : [
      "val1" : ["a", "b", "c"],
      "val2" : ["d", "e", "f"],
      "val3" : ["g", "h", "i"],
   ]
}

是否可以将这些键值对推入数组?如果是这样,我将如何调用这些值? arr[1].key()?

arr = 
[
   {val1 : ["a", "b", "c"]},
   {val2 : ["d", "e", "f"]},
   {val3 : ["g", "h", "i"]},
]

1 个答案:

答案 0 :(得分:1)

认为你想要的是这样的:



    var dict = {
      val1: ["a", "b", "c"],
      val2: ["d", "e", "f"],
      val3: ["g", "h", "i"],
    }

    var obj = {
      Configs: []
    };

    for (var k in dict) {
      if (dict.hasOwnProperty(k)) {
        var o = {};
        o[k] = dict[k];
        obj.Configs.push(o);
      }
    }

    alert(JSON.stringify(obj));




这将为您提供一个如下所示的对象:

{
  "Configs" : [
      { "val1" : ["a", "b", "c"] },
      { "val2" : ["d", "e", "f"] },
      { "val3" : ["g", "h", "i"] },
   ]
}

如果您希望能够使用特定键(例如val2)从数组中检索项目,那么您必须在数组中搜索具有{{1}的项目钥匙。如果您需要对该集合的这种访问权限,那么您不清楚为什么首先要从字典中对其进行转换。