-1

我有两个对象,我需要将一个对象插入第一行的另一个对象中。

我找到了 Javascript 函数splice,但我不知道如何使用它。

我的代码:

$(document).ready(function() {
    var person = {};    
    person[0] = {};
    person[0]['name'] = 'Joy';
    person[0]['age'] = '12';

    var personAll = {}; 
    personAll[0] = {};
    personAll[0]['name'] = 'Vanda';
    personAll[0]['age'] = '49';
    personAll[1] = {};
    personAll[1]['name'] = 'Peter';
    personAll[1]['age'] = '12';

    var new_object = personAll.splice(0, person);

    //I need get this result:
    new_object[0]['name'] = 'Joy';
    new_object[0]['age'] = '12';
    new_object[1]['name'] = 'Vanda';
    new_object[1]['age'] = '49';
    new_object[2]['name'] = 'Peter';
    new_object[2]['age'] = '12';

    console.log(new_object);
});

如何修复此代码?

4

4 回答 4

0

请参阅文档

splice()还需要删除的项目数。
你需要这样称呼它:

array.splice(startIndex, howManyToRemove, newItems...);

在这种情况下,您可能想要删除0项目。


如果您在数组的开头插入,您也可以简单地调用unshift().

于 2013-08-08T13:22:30.843 回答
0

我注意到你正在索引一个 OBJ。拼接是用数组完成的。我会制作一个对象数组,然后进行相应的拼接。

另见: http ://www.w3schools.com/jsref/jsref_splice.asp

于 2013-08-08T13:24:02.790 回答
0

如果制作 person 和 personAll 数组,可以使用 concat 方法。

var new_object = person.concat(personAll);
于 2013-08-08T13:24:21.973 回答
0

拼接方法从数组中删除元素。
您需要使用concat方法,如下所示:

var person = {name: 'Joy', age: 12};
var persons = [{name: 'Vanda', age: 49}, {name: 'Peter', age: 12}];
var newPersons = [person].concat(persons);
console.log(newPersons);  

控制台输出将是: 在此处输入图像描述

于 2013-08-08T13:30:43.643 回答