73 votes

Une meilleure façon d'épissage d'un tableau dans un tableau en javascript

Est-il une meilleure façon que ce collage d'un tableau dans un autre tableau en javascript

var string = 'theArray.splice('+start+', '+number+',"'+newItemsArray.join('","')+'");';
eval(string);

142voto

CMS Points 315406

Vous pouvez utiliser l'appliquer pour éviter eval:

var args = [start, number].concat(newItemsArray);
Array.prototype.splice.apply(theArray, args);

L' appliquer de fonction est utilisé pour appeler une autre fonction, avec un contexte donné et les arguments, dans un tableau, par exemple:

Si nous appelons:

var nums = [1,2,3,4];
Math.min.apply(Math, nums);

L'application de fonction est exécutée:

Math.min(1,2,3,4);

78voto

luisperezphd Points 3220

Enveloppez-la dans une fonction et vous obtenez ceci:

function insertArrayAt(array, index, arrayToInsert) {
    Array.prototype.splice.apply(array, [index, 0].concat(arrayToInsert));
}

Vous pouvez l'utiliser comme ceci:

var arr = ["A", "B", "C"];
insertArrayAt(arr, 1, ["x", "y", "z"]);
alert(JSON.stringify(arr)); // output: A, x, y, z, B, C

Vous pouvez le vérifier dans ce jsFiddle: http://jsfiddle.net/luisperezphd/Wc8aS/

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X