6

我有一个如下的 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!

4

3 回答 3

6

像这样:

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)
于 2013-08-08T11:48:48.557 回答
5

如果您的数组在 variable 中array,则:

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

1意味着您要将其放置在 index 处,1意味着0您想要0从数组中删除项目。请参阅splice 文档,这是一种具有 2 个用途的方法的可恶之处,而这两种用途从不同时使用:D

于 2013-08-08T11:48:03.290 回答
-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);
于 2013-08-08T11:51:26.220 回答