2010-09-19 5 views
7

उदाहरण के लिए मेरे पास यह सरणी है (प्रत्येक संख्या एक सिंगलर है, कोई भी डुप्लिकेट नहीं है) जिसे पाल्व्यू कहा जाता है: 1 2 3 15 20 12 14 18 7 8 (10 का आकार)।जावास्क्रिप्ट - सरणी से एक मान पॉप करें, लेकिन सरणी के अंत में नहीं

मुझे "15" मान को पॉप करने के लिए उदाहरण की आवश्यकता है, और इस पेल्यू के बाद 1 2 3 20 12 14 18 7 8 (आकार 9) होना चाहिए। यह कैसे कर सकता है

पॉप() फ़ंक्शन सरणी के अंत में मान लेता है। मैं नहीं चाहता कि इस :) चियर्स

संपादित

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", फिर "ख [0] = 15"

ध्यान दें कि splice केवल एक के बजाय हटाए गए मानों के सर देता है, लेकिन इसे आसानी से संभाला जाता है। मूल्य में सरणी डालने के लिए भी सुविधाजनक है।

9

पहले एक बंद, उपयोग पॉप करने के लिए:

first = array.shift(); 

किसी अन्य एक बंद पॉप करने के लिए, उपयोग करें:

removed = array.splice(INDEX, 1)[0]; 
संबंधित मुद्दे