JavaScript数组中的对象插入问题

时间:2013-08-08 11:45:12

标签: javascript jquery arrays insert indexing

我有一个类似下面的JavaScript数组:

[
    {type: 'text', name: 'title', id: 'title', placeholder: 'Type here'},
    {type: 'textarea', name: 'description', id: 'description', placeholder: 'Type here'}
]

现在我想在第一个对象之后插入{type: 'text', name: 'age', id: 'age', placeholder: 'Type here'}。所以我的最终结果集如下:

[
    {type: 'text', name: 'title', id: 'title', placeholder: 'Type here'},
    {type: 'text', name: 'age', id: 'age', placeholder: 'Type here'}
    {type: 'textarea', name: 'description', id: 'description', placeholder: 'Type here'}
]

我想要简单的JavaScript或jQuery!

3 个答案:

答案 0 :(得分:5)

像这样:

var a = [
    {type: 'text', name: 'title', id: 'title', placeholder: 'Type here'},
    {type: 'textarea', name: 'description', id: 'description', placeholder: 'Type here'}
]

var b= {type: 'text', name: 'age', id: 'age', placeholder: 'Type here'} 

a.splice(1,0,b);

console.log(a)

答案 1 :(得分:4)

如果你的数组在变量array中,那么:

array.splice(1, 0, {
    type: 'text',
    name: 'age',
    id: 'age',
    placeholder: 'Type here'
});

1表示您要将其放在索引10表示您要从阵列中删除0项。参见splice documentation,这是一种具有2个目的的方法的可憎之处,这两个目的从未同时使用过:D

答案 2 :(得分:-1)

如果您希望该对象位于该确切位置,请使用splice方法。

var myArray = [{
  type: 'text',
  name: 'title',
  id: 'title',
  placeholder: 'Type here'
}, {
  type: 'textarea',
  name: 'description',
  id: 'description',
  placeholder: 'Type here'
}];
var myObject = {
  type: 'text',
  name: 'age',
  id: 'age',
  placeholder: 'Type here'
};
myArray.push(myObject);