Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 列表转换为对象的数组_Angular_Typescript - Fatal编程技术网

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阶段的建议。以下是索引键。我需要与值相同的名称