By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
444,190 Members | 1,412 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 444,190 IT Pros & Developers. It's quick & easy.

splice an array into another array

P: n/a
MSDN says splice has the following arguments:

arrayObj.splice(start, deleteCount, [item1[, item2[, . . .
[,itemN]]]])

Thus I can insert items into an array using splice. But how do I
insert an entire array? For example:

var arr1 = [];
arr1[0] = "a";
arr2[1] = "d";
var arr2 = [];
arr2[0] = "b";
arr2[1] = "c";
arr1.splice(1, 0, arr2);

Because array arguments in splice dont work like they do in concat,
this expectedly yeilds this for arr1: a,[b,c],d

Without having to use slice and concat which allocates up to three new
arrays, is there anyway to splice one array into another?

Thanks
Jun 27 '08 #1
Share this Question
Share on Google+
1 Reply


P: n/a
<ag*******@gmail.comwrote:
MSDN says splice has the following arguments:

arrayObj.splice(start, deleteCount, [item1[, item2[, . . .
[,itemN]]]])

Thus I can insert items into an array using splice. But
how do I insert an entire array? For example:

var arr1 = [];
arr1[0] = "a";
arr2[1] = "d";
var arr2 = [];
arr2[0] = "b";
arr2[1] = "c";
arr1.splice(1, 0, arr2);

Because array arguments in splice dont work like they do in
concat, this expectedly yeilds this for arr1: a,[b,c],d

Without having to use slice and concat which allocates up to
three new arrays, is there anyway to splice one array into
another?
I suppose something like:-

arr2.unshift(1, 0); //Adding the start and deleteCount
//to the front of arr2.
arr1.splice.apply(arr1, arr2); //Using the resulting array
// as the array of arguments
// for - apply -.

- shoud do it. Though if you still wanted to use arr2 as it was you
would have to shift the first two values out of it again.

Richard.

Jun 27 '08 #2

This discussion thread is closed

Replies have been disabled for this discussion.