2010-09-19 21 views
7

J'ai par exemple ce tableau (chaque nombre est singulier, aucun doublon) appelé pvalue: 1 2 3 15 20 12 14 18 7 8 (sizeof 10).Javascript - Pop une valeur de tableau, mais pas à la fin du tableau

J'ai besoin par exemple de faire apparaître la valeur "15", et après ce pvalue devrait être 1 2 3 20 12 14 18 7 8 (sizeof 9). Comment peut-il le faire?

La fonction pop() prend la valeur à la fin du tableau. Je ne veux pas :) acclamations

EDIT

for(i=0; i<pvalue.length; i++) { 
    if(pvalue[i]==param) { 
     ind=i; 
     break; 
    } 
} 
pvalue.splice(ind, 1); 

Répondre

6

Vous cherchez splice. Exemple: http://jsbin.com/oteme3:

var a, b; 

a = [1, 2, 3, 15, 20, 12, 14, 18, 7, 8]; 
display("a.length before = " + a.length); 
b = a.splice(3, 1); 
display("a.length after = " + a.length); 
display("b[0] = " + b[0]); 

... affiche "a.length avant = 10", puis "a.length après = 9", puis "b [0] = 15"

Notez que splice renvoie un tableau des valeurs supprimées au lieu d'un seul, mais cela est facilement géré. Il est également pratique pour insérer les valeurs dans un tableau.

9

Pour faire apparaître le premier arrêt, utilisez:

first = array.shift(); 

Pour pop toute autre off, utilisez:

removed = array.splice(INDEX, 1)[0];