let map = {}
map['彩妆墙'] = 1
map['咨询桌'] = 2
map['礼品桌'] = 3
console.log(map)
// {彩妆墙: 1, 咨询桌: 2, 礼品桌: 3}
展开后发现顺序被默认改变
咨询桌: 2
彩妆墙: 1
礼品桌: 3
通过使用:Object.keys(map)
得到如下结果:
console.log(Object.keys(map))
// ['彩妆墙', '咨询桌', '礼品桌']
咋一看没有问题但是我们再看看他的值
但是通过使用:Object.values(map)
得到结果:
console.log(Object.values(map))
[1, 2, 3]
看到没,顺序被默认排序了,其实不管是key还是value只要是数字就会被默认的进行排序
解决方案一
使用字符串即可,将数字改成字符串
解决方案二
使用 new Map() 来解决
let map = new Map()
map.set(2, '2')
map.set(3, '3')
map.set(1, '1')
console.log(map)
// Map(3) {2 => '2', 3 => '3', 1 => '1'}
data.values()
// {'2', '3', '1'}
data.keys()
// {2, 3, 1}
以上就是解决默认排序问题的相关解决方案