将 javascript 对象属性更改为嵌套对象值
Change javascript Object attributes to nested object values
所以我有一个具有以下格式的对象
const objA = {
A: {a: 1, b: 2},
B: {a: 3, b: 4},
}
我正在尝试获取具有以下结构的新对象
objB = {
A: 1,
B: 3,
}
其中每个键的值是嵌套对象中属性 a
的值。我在使用函数式编程时遇到了问题
谢谢!
您应该只遍历父对象的键,然后将内部对象的键 a
的值赋给它们。就是这样,
const objA = {
A: {a: 1, b: 2},
B: {a: 3, b: 4},
}
const objB = {}
for (var key in objA) {
if (objA.hasOwnProperty(key)) {
objB[key] = objA[key].a
}
}
输出:
objB = {
A: 1,
B: 3,
}
你可以遍历Object.keys()
with Array.prototype.reduce()
const objA = {A:{a:1,b:2},B:{a:3,b:4},},
result = Object.keys(objA).reduce((r,key) => (r[key] = objA[key].a, r),{})
console.log(result)
.as-console-wrapper{min-height:100%;}
所以我有一个具有以下格式的对象
const objA = {
A: {a: 1, b: 2},
B: {a: 3, b: 4},
}
我正在尝试获取具有以下结构的新对象
objB = {
A: 1,
B: 3,
}
其中每个键的值是嵌套对象中属性 a
的值。我在使用函数式编程时遇到了问题
谢谢!
您应该只遍历父对象的键,然后将内部对象的键 a
的值赋给它们。就是这样,
const objA = {
A: {a: 1, b: 2},
B: {a: 3, b: 4},
}
const objB = {}
for (var key in objA) {
if (objA.hasOwnProperty(key)) {
objB[key] = objA[key].a
}
}
输出:
objB = {
A: 1,
B: 3,
}
你可以遍历Object.keys()
with Array.prototype.reduce()
const objA = {A:{a:1,b:2},B:{a:3,b:4},},
result = Object.keys(objA).reduce((r,key) => (r[key] = objA[key].a, r),{})
console.log(result)
.as-console-wrapper{min-height:100%;}