繁体   English   中英

替代 Object.keys 和 Object.values

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM