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

时间:2012-11-21 15:01:41

标签: javascript jquery json

  

可能重复:
  Does JavaScript Guarantee Object Property Order?

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

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

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

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

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

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

我该怎么做? 是否有任何jQuery解决方案?

1 个答案:

答案 0 :(得分:5)

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

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:)变得毫无用处。