我正在尝试从中映射一个数组:
[
{
"person_1": "jim",
"person_2": "bob"
}
]
对此:
people: [
{
"person": "jim"
},
{
"person": "bob"
}
]
现在,我的地图方法是选择每个值,但似乎效率很低:
const ogArray = [{
"person_1": "jim",
"person_2": "bob"
}]
const newArray = ogArray.map((person) => {
return {
people: [{
person: person.person_1
},
{
person: person.person_2
}
]
}
});
console.log(newArray);
上面的方法有效,但它不是 DRY,我希望我可以使用像 person_* 这样的通配符来选择每个对象
您想要循环对象中的值,而不是数组。使用
Object.value()
循环对象的值。
const ogArray = [
{
"person_1": "jim",
"person_2": "bob"
}
];
const newArray = Object.values(ogArray[0]).map(value => ({person: value}));
console.log(newArray);