关于jquery:JavaScript数组中的对象插入问题

Object insert issue in JavaScript array

本问题已经有最佳答案,请猛点这里访问。

我有一个javascript数组,如下所示:

1
2
3
4
[
    {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'}。所以我的最终结果集是:

1
2
3
4
5
[
    {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!


这样地:

1
2
3
4
5
6
7
8
9
10
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)


如果数组在变量array中,则:

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

1表示要放在索引1上,0表示要从数组中删除0项。见拼接文件,这是一个方法的可憎之处,有两个目的,但两个目的从未同时使用:d


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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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);