2010-09-19 35 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];