如何在对象内部设置对象
How to set an object inside an object?
我有两个对象映射;
var one = { '1': { id: 1, pid: 1, name: 'John'},
'3': { id: 35, pid: 3, name: 'Josh'},
'5': { id: 34, pid: 5, name: 'Joe'} }
var two = {1:1, 34:1, 35:1}
Object.keys(one).forEach(function(item){
two[one[item].id]= {pid : one[item]};
});
我想要的结果是
{1: { '1': { id: 1, pid: 1, name: 'John'}, 34: {'3': { id: 34, pid: 3, name: 'Josh'}}, 35:{'5': { id: 35, pid: 5, name: 'Joe'}}}
但是我得到
{1: { pid: { id: 1, pid: 1, name: 'John'}, 34: {pid: { id: 34, pid: 3, name: 'Josh'}}, pid:{'5': { id: 35, pid: 5, name: 'Joe'}}}
但是我没有得到动态pid,只有堆栈pid。我知道上面的循环设置它在静态id,想解决它得到动态pid。
要获得良好的结果,只需将"pid"设置为键,就像您对"id"所做的那样:
var one = { '1': { id: 1, pid: 1, name: 'John'},
'3': { id: 35, pid: 3, name: 'Josh'},
'5': { id: 34, pid: 5, name: 'Joe'} }
var two = {}
Object.keys(one).forEach(function(item){
var current = one[item]
// We initialize empty object
two[current.id]= {}
// We set the object at key .pid to what is wanted
two[current.id][current.pid] = current
})
console.log(two)
Result (in JSON):
{"1":{"1":{"id":1,"pid":1,"name":"John"}},"34":{"5":{"id":34,"pid":5,"name":"Joe"}},"35":{"3":{"id":35,"pid":3,"name":"Josh"}}}
您说您想要的不是一个有效的对象。我猜你想
var one = {
1: { id: 1, pid: 1, name: 'John'},
3: { id: 35, pid: 3, name: 'Josh'},
5: { id: 34, pid: 5, name: 'Joe'}
}, two = {};
Object.keys(one).forEach(function(item){
two[one[item].id]= one[item];
});
var one = {
'1': { id: 1, pid: 1, name: 'John'},
'3': { id: 35, pid: 3, name: 'Josh'},
'5': { id: 34, pid: 5, name: 'Joe'}
}
var two = {1:1, 34:1, 35:1}
Object.keys(one).forEach(function(item){
var obj = {};
obj[one[item].pid] = one[item];
two[one[item].id]= obj;
});
console.log (two);
这应该对你有用。
var one = { '1': { id: 1, pid: 1, name: 'John'},
'3': { id: 35, pid: 3, name: 'Josh'},
'5': { id: 34, pid: 5, name: 'Joe'} };
var two = {1:1, 34:1, 35:1};
for (key in one){
var item = one[key];
two[item.id] = {};
two[item.id][item.pid] = item;
}
相关文章:
- 访问JSON对象内部的数组元素
- 如何确定对象内部包含对象的JSON的长度
- 正在更新mongod中两个对象内部的数组
- 如何访问对象内部的“categoryIds”字段/键,该对象包含mongodb's `ObjectId(s)`数
- 在javascript中移动对象内部的元素
- 基于使用angular在下拉列表中选择的对象,迭代对象内部的对象
- 如何清除Javascript对象内部的setTimeout
- 为什么数组在对象内部迭代对象时存储重复值
- 我如何使用D3来强制用户点击g.node对象内部的圆形对象
- 正在获取对象内部数组中的对象总数
- 从对象内部调用knockout.js ko.applyBindings()
- 使用ng-src增强对象内部的数组
- 如何在javascript中从对象内部的数组中获取数据
- 对象内部函数内的对象文本的范围
- 在 Forerunner 数据库集合中创建主键时,key 属性是否可以位于集合对象的对象内部
- 如何过滤对象内部深度堆叠的数据(并在之后编辑删除它)
- 对象内部数组中的角度 ng 重复键
- 访问对象内部的数组
- Jhon Papa Angular Style guide Factory-对象内部的函数未运行
- 检查数组中的项是否存在于对象内部