所以我有一个具有以下格式的对象
const objA = {
A: {a: 1, b: 2},
B: {a: 3, b: 4},
}
我正在尝试使用下面的结构
获得一个新对象objB = {
A: 1,
B: 3,
}
其中每个键的值是嵌套对象中属性a
的值。我在使用函数式编程时遇到了麻烦
谢谢!
答案 0 :(得分:1)
您可以用Object.keys()
遍历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%;}
答案 1 :(得分:0)
您应该仅遍历父对象的键,然后将内部对象的键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,
}