Si vous êtes ajoutant un tableau à l'avant d'un autre tableau, il est plus efficace d'utiliser concat
. Donc:
var newArray = values.concat(oldArray);
Mais ce sera toujours en O(N) dans la taille de oldArray. C'est toujours plus efficace que manuellement une itération sur oldArray. Aussi, selon les détails, il peut vous aider, parce que si vous allez à ajouter beaucoup de valeurs, il est préférable de les mettre dans un tableau en premier et ensuite concat oldArray sur la fin, plutôt que de l'ajouter au début de chacun d'eux individuellement.
Il n'y a pas moyen de faire mieux que O(N) dans la taille de oldArray, car les tableaux sont stockés dans la mémoire contiguë avec le premier élément dans une position fixe. Si vous souhaitez insérer avant le premier élément, vous devez déplacer tous les autres éléments. Si vous avez besoin d'un moyen de contourner cela, faire ce que @GWW dit et utiliser une liste chaînée, ou une autre structure de données.