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