在Javascript中添加数组键值
我有一个网络阵列,如下所示在Javascript中添加数组键值,javascript,arrays,Javascript,Arrays,我有一个网络阵列,如下所示 "network_contents": [ { "facebook":"contents to all pages", }, { "twitter":"twiter contents", }, { "linkedin":"linked in contents", } ] 我想根据数组的内容为它添加一些键。如果是facebook,关键应
"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"
}
}
]
}
非常感谢您的帮助您提供了一个JS对象的示例,而不是字典,因此无法添加键值。 你需要这样的东西:
var network_contents = [];
network_contents["facebook"] = {config1: {name:"config1", value:"value1"}};
network_contents["twitter"] = {config2: {name:"config2", value:"value2"}};
例如:
网络内容[“facebook”]。配置1.value;//将返回“value1”
您可以轻松地将对象转换为字典。实现我在评论中所说的内容:
var oldsies = stuff.network_contents;
var newsies = stuff.network_contents = {};
oldsies.forEach(function(network) {
var name = Object.keys(network)[0];
newsies[name] = network;
});
您所尝试的??您似乎误解了数组和字典/对象<代码>[“facebook”:{…}]在JavaScript中不符合语法。你不能简单地“添加键”——从一个空对象开始,迭代数组并将项复制到新对象中。首先尝试验证你想要的结果,因为这不是JSON@imkrisna我已经编辑了我的问题,你能检查一下吗it@Amadan,我已经更新了我的问题,你能检查一下吗谢谢你的帮助…它真的帮助了我