splice an array into another array

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • agendum97@gmail.com

    splice an array into another array

    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
  • Richard Cornford

    #2
    Re: splice an array into another array

    <agendum97@gmai l.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.app ly(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.

    Comment

    Working...