使用REST,我正在检索要转换为数组的对象(JSON
格式),以便将其插入表中。
这是在React的渲染功能中完成的。
输入每隔N分钟从后端更新一次。
如何将对象转换为数组?
我需要 nly值,而不是键,因为键已经预先作为列值存在于表本身中。
答案 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#keys
与Array#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);