说我有一个看起来像的对象:
{
0: { ... }
1: { ... }
2: { ... }
...
92812093: { ... }
}
如果在整个对象中删除了一些元素,我该如何保持它们的相对顺序?换句话说,如果在0
和3
之间,我删除了密钥2
,我希望新密钥为0
,1
,{{ 1}},其中0和1未受影响,2
已成为3
。
答案 0 :(得分:1)
与数组不同,对象实际上没有数字索引。换句话说,当你循环一个对象时,甚至不保证你会以该顺序获得0, 1, 2
。
如果订单很重要,您可以选择利用数组索引,并将数据格式化为var arr = [x, y, z]
。可以使用arr[index]
访问此数据。使用pop
,shift
或splice
等数组方法删除元素将确保保留订单。
例如,如果我们要拼出arr[1]
,arr
将变为[x, z]
而z
现在将在索引1而不是索引2。