在Javascript / React中将对象转换为数组

时间:2017-01-05 13:25:48

标签: javascript arrays reactjs

使用REST,我正在检索要转换为数组的对象(JSON格式),以便将其插入表中。

这是在React的渲染功能中完成的。

输入每隔N分钟从后端更新一次。

如何将对象转换为数组?

我需要 nly值,而不是键,因为键已经预先作为列值存在于表本身中。

2 个答案:

答案 0 :(得分:4)

注意:在JS中迭代对象时,无法保证顺序。这意味着将对象转换为数组时值的顺序可能与列的顺序冲突。

您可以使用Object#values(ECMAScript 2017草稿),但旧版浏览器不支持此功能(请参阅browser's compatibility



const map = { a: 1, b: 2, c: 3 };

const result = Object.values(map);

console.log(result);




如果您需要更好的浏览器支持,可以将Object#keysArray#map

一起使用



const map = { a: 1, b: 2, c: 3 };

const result = Object.keys(map).map((key) => map[key]);

console.log(result);




答案 1 :(得分:1)

我不确定地图是指Map对象还是普通的JS对象。但是,仅仅为了变化,我想提一下,Map对象大多数(可能总是)像JSON.stringify([...myMap])一样进行字符串化。因此,如果您碰巧在JSON数据中收到Map对象,那么您应该做类似的事情;

var myMap = new Map().set(1,"hey").set(2,"you"),
  mapData = JSON.stringify([...myMap]),
   values = JSON.parse(mapData).map(d => d[1]);
console.log("mapData:",mapData);
console.log("values:",values);