如何在Angular 4中将对象转换为数组?

时间:2018-03-14 06:30:15

标签: arrays angular typescript

我想将Object转换为数组,这是我的对象。

{5.0: 10, 28.0: 14, 3.0: 6}

我想要下面的数组

[{"type": 5.0,"value":10},{"type": 28.0,"value":14}, {"type": 3.0,"value":6}]

[{"5.0": 10},{"28.0": 14}, {"3.0": 6}]

2 个答案:

答案 0 :(得分:10)

通过Object.keys获取密钥,然后使用map功能获取所需的输出。



const obj = {5.0: 10, 28.0: 14, 3.0: 6};

const mapped = Object.keys(obj).map(key => ({type: key, value: obj[key]}));

console.log(mapped);




可以通过Object.entries数组解构提供另一种解决方案。



const obj = {5.0: 10, 28.0: 14, 3.0: 6};

const mapped = Object.entries(obj).map(([type, value]) => ({type, value}));

console.log(mapped);




答案 1 :(得分:5)

使用Object.keys和array.map:

var obj = {5.0: 10, 28.0: 14, 3.0: 6}

var arr = Object.keys(obj).map(key => ({type: key, value: obj[key]}));

console.log(arr);

如果您的浏览器支持Object.entries,您可以使用它:

var obj = {5.0: 10, 28.0: 14, 3.0: 6}

var arr = Object.entries(obj).map(([type, value]) => ({type, value}));

console.log(arr);