Angular 列表转换为对象的数组
您好,我有一个对象,看起来像这样:Angular 列表转换为对象的数组,angular,typescript,Angular,Typescript,您好,我有一个对象,看起来像这样: const test = { { 'ADF':['test'] }, { 'BDF':['test'] } , { 'CDF':['test'] } } 1我正在像这样提取密钥 const key = Object.key(test); // ['ADF', 'BDF', 'CDF'] 现在我想创建这样一个对象:{ADF':ADF,'BDF':BDF,'CD
const test = {
{
'ADF':['test']
},
{
'BDF':['test']
}
,
{
'CDF':['test']
}
}
1我正在像这样提取密钥
const key = Object.key(test); // ['ADF', 'BDF', 'CDF']
现在我想创建这样一个对象:{ADF':ADF,'BDF':BDF,'CDF':CDF}
我该怎么做
我试过了
const objectOfKeys = key.map((item) => {item : item})
但是我得到了关键项的错误未使用标签
解决方案:
{[item]:item}对于ES5及以上版本,您只需
const array = Object.keys(test);;
console.log({...array});
您可以使用reduce功能来实现这一点:
const initialObject = [
{
'ADF': ['test']
},
{
'BDF': ['test']
}
,
{
'CDF': ['test']
}
];
const finalObject = initialObject.reduce((acc, curr) => {
const [currentKey] = Object.keys(curr)
acc[currentKey] = currentKey;
return acc;
}, {});
console.log(finalObject);
输出:
{ADF: "ADF", BDF: "BDF", CDF: "CDF"}
演示您是否意识到您的测试对象无效?我想它应该是一个数组你想要{[item]:item}吗?我不清楚你们期望的输出是什么。是的,像这样。感谢ES5及以上。ES5还不够。目标传播是第4阶段的建议。以下是索引键。我需要与值相同的名称