![](/img/trans.png)
[英]Object.keys and Object.values return zero array of an object
[英]Alternative to Object.keys and Object.values
我在某处读到不能保证 javascript 对象中的键顺序。 就像浏览器可以决定返回他们想要的任何东西一样。
并且 js 中有一种新类型的对象,称为 Map,它允许您对对象进行排序。
但是当我从服务器向浏览器发送数据时如何使用它? 没有办法传递对象,我必须用 json 字符串化,然后 Map 类在浏览器中丢失
如果您尝试通过 JSON 发送有序映射并保留顺序,则可以将映射拆分为键和值数组,然后将它们放回接收器中。
服务器:
function mapToJSON(map) {
return JSON.stringify({keys: Array.from(map.keys()), values: Array.from(map.values())});
}
客户:
function JSONToMap(json) {
const {keys, values} = JSON.parse(json);
const map = new Map;
keys.forEach(key, i) {
map.set(key, values[i]);
}
return map;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.