在特定位置的JSON对象中插入属性

Chr*_*s X 6 javascript jquery json

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

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

var data = {
  0: 'lorem',
  1: 'dolor sit',
  2: 'consectetuer'
}
Run Code Online (Sandbox Code Playgroud)

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

var id = 6;
var str = 'adipiscing';
Run Code Online (Sandbox Code Playgroud)

现在,我想插入id之间01(例如)它应该像:

data = {
  0: 'lorem',
  6: 'adipiscing',
  1: 'dolor sit',
  2: 'consectetuer'
}
Run Code Online (Sandbox Code Playgroud)

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

Cer*_*rus 5

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

data = [
    {0: 'lorem'},
    {1: 'dolor sit'},
    {2: 'consectetuer'}
]
Run Code Online (Sandbox Code Playgroud)

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

// 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"
Run Code Online (Sandbox Code Playgroud)

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