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

cbl*_*bll 1 javascript arrays reactjs

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

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

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

如何将对象转换为数组?

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

Ori*_*ori 10

您可以使用Object#values(ECMAScript 2017),但IE不支持它(请参阅浏览器的兼容性)。

注意: ECMAScript 6规范定义了对象的属性应以哪种顺序遍历。这篇博客文章解释了细节

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

const result = Object.values(map);

console.log(result);
Run Code Online (Sandbox Code Playgroud)

如果您需要支持IE,你可以用Object#keysArray#map

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

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

console.log(result);
Run Code Online (Sandbox Code Playgroud)


Red*_*edu 5

我不确定你所说的地图是指 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);
Run Code Online (Sandbox Code Playgroud)