views:

25

answers:

2

Hi. I have for example this array (each number is singolar, no one duplicate) called pvalue : 1 2 3 15 20 12 14 18 7 8 (sizeof 10).

I need for example to pop the value "15", and after this pvalue should be 1 2 3 20 12 14 18 7 8 (sizeof 9). How can do it?

the pop() function take the value at the end of the array. I don't want this :) cheers

EDIT

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

You're looking for splice. Example: 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]);

...displays "a.length before = 10", then "a.length after = 9", then "b[0] = 15"

Note that splice returns an array of the removed values rather than just one, but that's easily handled. It's also convenient for inserting values into an array.

T.J. Crowder
ok! added the code. It works;) tnx man
markzzz
A: 

To pop the first one off, use:

first = array.shift();

To pop any other one off, use:

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