【发布时间】:2019-01-02 05:10:04
【问题描述】:
我觉得这里非常接近。场景:我在消息中发送了一个 JSON,看起来像这样:
{"objects": {
"object_name1":{
"name":"object_name1",
"otherData":"some other data"
},
{"object_name2":{
"name":"object_name2",
"otherData":"some more data"
}
}}
如您所见,对象不在数组中。我使用 Object.keys 函数创建了一个包含每个对象的字符串名称的数组,然后使用 if 语句创建了 another 数组,其中包含我想要的对象,这导致了我当前的问题:
如何使用我创建的数组中包含的字符串值(对象键)创建对象数组?
我尝试过这样的事情:
filteredKeyArray = ['object_name1','object_name2'];
newObjArray = [];
for(i in filteredKeyArray){
for(key in objects){
newObjArray.push(objects[i[key]]);
}
}
但是newObjArray 只是显示所有未定义的。理想情况下,newObjArray 会显示如下内容:
[{"object_name1":{...}},{"object_name2":{...}}]
想法?
【问题讨论】:
-
您输入的语法无效,特别是
}, {部分 - 对象有 key-value 对,而不仅仅是普通值 -
这不是有效的 JSON - 你从哪里得到的?
-
你希望你的输出是什么?请发布Minimal, Complete, and Verifiable Example,包括期望的输出。
标签: javascript arrays object