使用jquery将对象数组插入Last索引

时间:2014-09-03 07:10:50

标签: jquery

var a=[{"id":1, "name":"aaa", "age":31}, {"id":2, "name":"bbb", "age":23}, {"id":3, "name":"ccc", "age":24}]

var b=[{"id":4, "name":"ddd", "age":43}]

var result=[{"id":1, "name":"aaa", "age":31}, {"id":2, "name":"bbb", "age":23}, {"id":3, "name":"ccc", "age":24}, {"id":4, "name":"ddd", "age":43}]

我想将b插入到3的索引中。任何人都知道这个吗?

6 个答案:

答案 0 :(得分:1)

var result = a;
result.push(b[0]);

答案 1 :(得分:1)

a.push.apply(a, b)

这将调用Array的push方法,其参数与b上的项目一样多,也就是说a.push(b[0], b[1], b[2], ...)

普通JS,不需要jQuery:)

PS:注意这会修改a。 如果您不想要这个,那么您可以先使用Array.slice克隆它:

var result = a.slice(); 
result.push.apply(this, b);

答案 2 :(得分:1)

良好做法是

a [a.length] = b;

这里a.length为3表示插入数据的下一个(或最后一个)索引。

答案 3 :(得分:0)

请检查以下代码

var result = a.concat(b);

答案 4 :(得分:0)

请查看以下代码。

var a=[{"id": 1, "name":"aaa","age":31},{"id": 2, "name":"bbb","age":23},{"id": 3,name:"ccc","age":24}]
var b=[{"id": 4, "name":"ddd","age":43}];
function insertInto(index, a, b){
    var x = a.splice(index);
    a = a.concat(b);
    a = a.concat(x);
    retrun a;
}
a = insertInto(2,a,b);

答案 5 :(得分:0)

请检查以下代码

var a = [{ "id": 1, "name": "aaa", "age": 31 }, { "id": 2, "name": "bbb", "age": 23 }, { "id": 3, "name": "ccc", "age": 24}];
        var b = [{ "id": 4, name: "ddd", "age": 43}];
        var result = a.concat(b);