2012-02-17 16 views
5

मेरे पास एक सुझाव नोड के रूप में सूची (सरणियों) कोड की दुकान और उन्हें अमल करने के लिए किया था भूल जाता है, लेकिन से मुझे लगा कि यह कठिन है: अगर मैं में एक समारोह के साथ एक सूची बनाने के शुरुआत या अंत में, .pop या .shift निकाल देता है लेकिन यह को छोड़ देता है और अगले तत्व देता है:Array.pop छोड़ देता है और एक समारोह आइटम

> l = [1, 75, 84, function() { console.log('aseuht') }] 
[ 1, 75, 84, [Function] ] 
> l.pop() 
84 
> l 
[ 1, 75 ] 

मैं नोड v0.4.9 में यह देखा, लेकिन यह अभी भी 0.6.10 में मौजूद है।

क्या इसके लिए कोई कामकाज है?

अपडेट: मैंने issue on GitHub दायर किया।

अपडेट 2: बग केवल मेरे खोल में मौजूद है, जब मैं इन आदेशों को एक स्टैंडअलोन स्क्रिप्ट से चलाता हूं, तो यह सही तरीके से काम करता है। तो यह सिर्फ एक खोल मुद्दा है।

उत्तर

4

मैंने इसे नोड, फ़ायरफ़ॉक्स और क्रोम में अभी कोशिश की और यह तीनों में अपेक्षित के रूप में काम किया।

var l= [1, 75, 84, function() { console.log('aseuht'); }]; 
console.log(l); 
console.log(l.pop()); 
console.log(l); 

और परिणाम:

[ 1, 75, 84, [Function] ] 
[Function] 
[ 1, 75, 84 ] 

और JSFiddle: http://jsfiddle.net/Q5M8M/

आप नोड के किन संस्करणों का उपयोग कर रहे हैं

यहाँ कोड मैं का इस्तेमाल किया है?

+0

मेरे पास नोड v0.4.9 –

+0

0.6.10 –

+0

में समान परिणाम है, इसलिए मैंने लिखा कोड स्निपेट काट और चिपकाया और यह मेरे काम के रूप में काम नहीं किया? मुझे समझ में नहीं आता कि हम अलग-अलग चीजें क्यों देख रहे हैं। –

संबंधित मुद्दे