js 复制对象排序乱了

73 篇文章 0 订阅
39 篇文章 0 订阅

表格需要根据对象的key来渲染表头,在控制台查看到数组中的对象的属性排序是正确的,但是右键复制其中一个对象再打印出来,发现乱序了,使用Object.keys输出也是乱序的。

1.问题

原数组如下:
在这里插入图片描述
可以看到对象中2026在2025之后。
复制这个对象在控制打开,对象如下:
在这里插入图片描述
发现2026反而跑到最前面了。

在来一个例子:
var a = {name:1,key:2,1:3,2:4,place:5}
可以看到定义的对象在输出的时候排序就变了。

2.原因

对象输出的时候,会先提取所有 key 的 parseFloat 值为非负整数的属性,然后根据数字顺序对属性排序裁剪出来放置在对象的前面,然后按照对象定义的顺序遍历余下的所有属性。

3. 解决

使用一个同步数组来保存原有的顺序,并用于显示

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值