在Javascript中添加数组键值

时间:2014-04-11 04:28:18

标签: javascript arrays

我有一个像以下方式的网络数组

"network_contents": [

      {
         "facebook":"contents to all pages",

      },
      {
         "twitter":"twiter contents",

      },
      {
         "linkedin":"linked in contents",

      }
]

我想根据其内容为该数组添加一些键。如果是facebook的关键应该是facebook,如果是twitter键应该是twitter。但不知道该怎么做。

我的要求是访问网络数组内容,但它可能会或可能不会将这些facebook,twitter与值相关联。我需要访问它的值。当我分配一个键值时,将很容易获取其内容。所以我尝试这种方式循环遍历数组

message.network_contents.forEach( function (nwContent) {
                        if(nwContent.twitter) {
                            console.log('nw content', nwContent.twitter);
                        }

                    })

我可以在这个foreach循环中创建一个数组,如下所示。

{
    "data": [
        {
            "facebook": {
                "facebook": "facebook content"
            },
            "twitter": {
                "twitter": "twitter content"
            }
        }
    ]
}

非常感谢您的帮助

2 个答案:

答案 0 :(得分:1)

我在评论中所说的实施:

var oldsies = stuff.network_contents;
var newsies = stuff.network_contents = {};
oldsies.forEach(function(network) {
  var name = Object.keys(network)[0];
  newsies[name] = network;
});

答案 1 :(得分:0)

您提供了一个JS对象的示例,而不是字典,因此无法添加键值。 你需要这样的东西:

    var network_contents = [];
    network_contents["facebook"] = {config1: {name:"config1", value:"value1"}};
    network_contents["twitter"] = {config2: {name:"config2", value:"value2"}};

例如: 。network_contents [ “脸谱”] config1.value; //将返回“value1”

您可以轻松地将对象转换为字典。