我有一本字典,我想用他们的密钥提取一些字段。所以我想要的是调用一个函数,我传递这个词典和键。
var posts = {
"code":"ok",
"data":[
{
"id":1,
"username":"example1",
"data":
{
"id":4,
"name":"fran"
},
},
{
"id":2,
"username":"example2",
"data":
{
"id":5,
"name":"manuel"
}
}
]
};
所以我想要一个新的字典,其中我将嵌套值作为一个简单的字典值。
[{
"id":1,
"username":"example1",
"name":"fran"
},
"id":2,
"username":"example2",
"name":"manuel"
}}
答案 0 :(得分:0)
function dict(obj)
{
var list = Object.assign({},obj).data;
list.forEach((e,i,a) => {
e.name = e.data.name;
delete e.data;
});
return list;
}
你的字典功能应该是什么样的
答案 1 :(得分:0)
我试过这个。我认为我有问题,因为我正在创建一个字典,当节点是" name"在迭代中。所以我想确认它是否正常或者还有其他方法可以做到这一点。
var list = [];
var dict = {};
function iterate(obj, stack) {
for (var property in obj) {
if (obj.hasOwnProperty(property)) {
if (typeof obj[property] == "object") {
iterate(obj[property], stack + '.' + property);
} else {
console.log(property + " " + obj[property]);
dict[property] = obj[property];
if(property=="name"){
list.push(dict);
dict ={};
}
}
}
}
return list;
}
var simplified = iterate(posts.data, '');
console.log(simplified);