8

可能的重复:
JavaScript 是否保证对象属性顺序?

我想知道如何在特定位置插入 JSON 对象属性?让我们假设这个 Javascript 对象:

var data = {
  0: 'lorem',
  1: 'dolor sit',
  2: 'consectetuer'
}

我有一个 ID 和一个字符串,例如:

var id = 6;
var str = 'adipiscing';

现在,我想插入和(例如)id之间,它应该是这样的:01

data = {
  0: 'lorem',
  6: 'adipiscing',
  1: 'dolor sit',
  2: 'consectetuer'
}

我怎样才能做到这一点? 有没有 jQuery 解决方案呢?

4

1 回答 1

9

要指定对象元素的放置顺序,您需要使用对象数组,如下所示:

data = [
    {0: 'lorem'},
    {1: 'dolor sit'},
    {2: 'consectetuer'}
]

然后,您可以将元素推送到数组中的某个位置:

// Push {6: 'adipiscing'} to position 1
data.splice(1, 0, {6: 'adipiscing'})

// Result:
data = [
    {0: 'lorem'},
    {6: 'adipiscing'},
    {1: 'dolor sit'},
    {2: 'consectetuer'}
]
// Access it:
data[0][0] //"lorem"

但是,这将使您指定的索引 ( {0:) 几乎毫无用处。

于 2012-11-21T15:08:02.847 回答