2011-11-15 6 views
10

में पाश के लिए से बाहर मान रिटर्निंग मैं निम्नलिखित कार्य हो:जावास्क्रिप्ट

function getId(a){ 
    var aL = a.length; 
    for(i = 0; i < aL; i++){ 
     return a[i][2].split(":", 1)[0]; 
    }  
    }       

और जब return के बजाय समारोह के भीतर console.log() का उपयोग कर रहा पाश में सभी मान मिलता है, और एक ही document.write के लिए चला जाता है । मैं अपने कोड के किसी अन्य अनुभाग में उपयोग के लिए स्ट्रिंग के रूप में इन मानों को कैसे एक्सेस कर सकता हूं?

अग्रिम धन्यवाद।

+4

'return' बयान तुरंत एक समारोह बाहर निकालता है, अभिव्यक्ति है कि यह इस प्रकार का मूल्य लौटने। यदि आप किसी प्रकार के सशर्त के बिना लूप में 'रिटर्न' कथन का उपयोग करते हैं, तो यह पहले पास को पूर्ववत करेगा और फिर बाहर निकल जाएगा। आपको उन्हें एक चर में एकत्र करने और लूप के बाद चर को वापस करने की आवश्यकता है। जैसा कि अन्य ने सुझाव दिया है कि आप शायद उन्हें एक सरणी में स्टोर करना चाहते हैं। –

+0

धन्यवाद थोड़ा सा गहराई से देखने के बाद मैं देखता हूं कि मैं कहां गलत था। धन्यवाद – jeffreynolte

उत्तर

8

आप जेएस के नए संस्करणों में yield के साथ ऐसा कर सकते हैं, लेकिन यह सवाल से बाहर है। यहाँ आप क्या कर सकते हैं:

function getId(a){ 
    var aL = a.length; 
    var values = []; 
    for(i = 0; i < aL; i++){ 
    values.push(a[i][2].split(":", 1)[0]); 
    }  
    return values.join(''); 
} 
+0

क्या यह 'var value = []; 'नहीं होना चाहिए? – fncomp

1

आप कैश होगा स्ट्रिंग और बाद में वापस:

function getId(a){ 
    var aL = a.length; 
    var output = ''; 
    for(var i = 0; i < aL; i++){ 
     output += a[i][2].split(":", 1)[0]; 
    }  
    return output; 
} 
0
  • वापसी कथन टूटता पाश एक बार यह निष्पादित किया जाता है। इसलिए वापसी बयान डालने पर विचार के बाहरपाश
  • चूंकि आप एक स्ट्रिंग वापस जाने के लिए चाहते हैं, आप एक चर पैदा करेगा और रिक्त स्ट्रिंग पर असाइन करें। (यह जहां संलग्न/पाश से परिणाम जोड़ देगा है।)
  • वापसी स्ट्रिंग चर।

तो अंतिम कोड की तरह दिखाई देगा ...

function getId(a){ 
    var result = ''; 
    var aL = a.length; 
    for(i = 0; i < aL; i++){ 
     result += a[i][2].split(":", 1)[0]; 
    } 
    return result; 
    } 
संबंधित मुद्दे