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

问题描述 投票:4回答:2

我想将我的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}]
arrays angular typescript
2个回答
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);

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);
© www.soinside.com 2019 - 2024. All rights reserved.