2010-09-19 36 views
7

我有例如这个数组(每个数字是单数的,没有人重复),称为pvalue:1 2 3 15 20 12 14 18 7 8(sizeof 10 )。Javascript - 从数组中弹出一个值,但不在数组的末尾

我需要例如弹出值“15”,并在这个pvalue应该是1 2 3 20 12 14 18 7 8(sizeof 9)。怎么办?

pop()函数采用数组末尾的值。我不希望这:) 欢呼

编辑

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

回答

6

您正在寻找splice。例如: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]); 

...显示 “则为a.length之前= 10”,然后 “则为a.length后= 9”,则 “B [0] = 15”

注意splice返回一个数组的移除值而不是一个,但这很容易处理。将数值插入到数组中也很方便。

9

为了弹出第一一关,使用:

first = array.shift(); 

为了弹出任何其它一关,使用:

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