2010-09-19 39 views
7

Tôi có ví dụ mảng này (mỗi số là số nguyên, không có một bản sao) được gọi là pvalue: 1 2 3 15 20 12 14 18 7 8 (sizeof 10).Javascript - Pop một giá trị từ mảng, nhưng không phải ở cuối mảng

Tôi cần ví dụ để bật giá trị "15" và sau pvalue này phải là 1 2 3 20 12 14 18 7 8 (sizeof 9). Làm thế nào có thể làm điều đó?

hàm pop() lấy giá trị ở cuối mảng. Tôi không muốn điều này :) cổ vũ

EDIT

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

Trả lời

6

Bạn đang tìm kiếm splice. Ví dụ: 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]); 

... hiển thị "a.length trước = 10", sau đó "a.length sau = 9", sau đó "b [0] = 15"

Lưu ý rằng splice trả về một mảng của các giá trị đã xóa thay vì chỉ một giá trị, nhưng điều đó dễ dàng được xử lý. Nó cũng thuận tiện cho việc chèn các giá trị vào một mảng.

9

Để bật một off đầu tiên, sử dụng:

first = array.shift(); 

Để bật bất kỳ một khác đi, sử dụng:

removed = array.splice(INDEX, 1)[0]; 
Các vấn đề liên quan