2015-12-24 4 views
6

क्योंजेड: के लिए और प्रत्येक के बीच अंतर

- for(var user in users) { 
    p= user //output: user1 
- }; 

और

each user in users 
    p= user //output: [object Object] 
http://jade-lang.com के अनुसार

के बीच एक अंतर है कि वे aliasses हैं, इसलिए वे एक अलग उत्पादन क्यों करते है?

उपयोगकर्ताओं (JSON प्रारूप)

users = { 
    "user1": { 
     "firstname": "John", 
     "lastname": "Doe" 
    }, 
    "user2": { 
     "firstname": "Jane", 
     "lastname": "Roe" 
    } 
} 
+0

मुझे लगता है कि इसमें हाइफ़न के साथ कुछ करना है, लेकिन मुझे यकीन नहीं है कि –

+0

@ एᴍɪʀ: http://jade-lang.com के दस्तावेज में, वे कह रहे हैं कि प्रत्येक के लिए और प्रत्येक अलियास हैं, लेकिन मैं मुझे लगता है कि मैंने इसे हल किया (नीचे मेरा जवाब देखें) क्या मेरा जवाब सही है? –

उत्तर

1

की सूची अंत में, एक समाधान है कि काम करता है पाया मैं अन्यथा value, index उपयोग करने के लिए एक वस्तु

each value, index in users 
    li= index //output: user1 
0

वापस आ गया था वे एक ही बात करना था, लेकिन for यह करने के लिए जावास्क्रिप्ट का तरीका है और each जेड का तरीका है।

जेड में, आप - डाल सकते हैं और जावास्क्रिप्ट, for या while या जो कुछ भी लिखना शुरू कर सकते हैं।

दूसरी तरफ, जेड कीवर्ड each जानता है और पृष्ठभूमि पर यह आपके लिए एक लूप में अनुवाद करता है।

यह थोड़ा अलग है क्योंकि each user in users

for (var key in users) { 
    var user = users[key]; 
    // the rest of the code 

की तरह कुछ करने के लिए अनुवाद तो, इस मामले में, user वस्तु ही नहीं, कुंजी, जावास्क्रिप्ट का वस्तु में चाबियाँ पर for दोहराता के रूप में किया जाएगा है।

+0

ठीक है, जो समझ में आता है, कम से कम अगर आप सही हैं (क्योंकि किसी ने आपका जवाब वोट दिया है) –

+0

मैं * सही हूं। आप इसे jade-lang.com पर देख सकते हैं और देख सकते हैं। मुझे नहीं पता कि कोई इसे कम क्यों करेगा :) –

+0

एक और सवाल: मेरे शिक्षक ने इस लूप का उपयोग किया: उपयोगकर्ताओं में प्रत्येक उपयोगकर्ता .list लेकिन मुझे नहीं पता कि उपयोगकर्ता.सूची का उपयोग कैसे करें, यह त्रुटियों को –

0

आप जेड के for का उपयोग नहीं कर रहे हैं, लेकिन जावास्क्रिप्ट का उपयोग नहीं कर रहे हैं।

निम्नलिखित अपने each संस्करण के बराबर है:

for user in users 
    p= user 

आपके मामले में, क्योंकि - की, आप for के जावास्क्रिप्ट के अपने संस्करण का उपयोग कर रहे थे जो कुंजी एक वस्तु का और नहीं से अधिक दोहराता इसके मूल्यों पर।

+0

आप इसे इस तरह लिख नहीं सकते .. यह निम्न त्रुटि देता है: 'अपरिभाषित' –

+0

@NickSpriet की संपत्ति 'लंबाई' नहीं पढ़ सकता है लगता है कि यह केवल सरणी पर काम करता है। आपने कहाँ पढ़ा था वे उपनाम थे? मैं इसे दस्तावेज़ों में नहीं ढूंढ सकता। – Darkhogg

+0

http://jade-lang.com/reference/iteration/ यह 'प्रत्येक अध्याय' में अंतिम वाक्य है (मैंने आपके लिए प्रिंटस्क्रीन बनाई है: http://prntscr.com/9i8h68) –

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