CoffeeScript में आप एक ऐरे के लिए एक मूल्य कैसे जोड़ते हैं?


98

CoffeeScript में एक Array के लिए एक मान को जोड़ने का निर्धारित तरीका क्या है? मैंने PragProg CoffeeScript पुस्तक की जाँच की है, लेकिन यह केवल बनाने, स्लाइसिंग और स्लाइसिंग, और पुनरावृत्ति पर चर्चा करता है, लेकिन यह आकर्षक है।

जवाबों:


192

अच्छा पुराना pushअभी भी काम करता है।

x = []
x.push 'a'

9
यहाँ प्रागप्रोग पुस्तक के लेखक । +1 से थिलो का जवाब। मैं Arrayकिताब में प्रोटोटाइप के तरीकों को कवर नहीं करना चाहता था , क्योंकि वहां पहले से ही बहुत अच्छे जावास्क्रिप्ट दस्तावेज़ हैं। उदाहरण के लिए, developer.mozilla.org/en/JavaScript/Reference/Global_Objects/…
ट्रेवर बर्नहैम

अगर हमारे पास कोई वस्तु है, और चरित्र नहीं है तो क्या होगा?
Ga

मुझे x << 'a'काम करने की उम्मीद थी ।
च्लोए

49

सूची बोध का उपयोग करना बेहतर है।

इसके बजाय उदाहरण के लिए:

things = []
for x in list
  things.push x.color

इसके बजाय यह करें:

things = (x.color for x in list)

23
यह सूची से चीजों के लिए मूल्यों को जोड़ नहीं है। यह पूरी तरह से चीजों की जगह लेता है। मैंने अभी इसका परीक्षण भी किया है।
अज़ीसी

ठीक है, यकीन है कि अज़ी, आप सही हैं, यह इसे प्रतिस्थापित करता है, नहीं। हालाँकि, यह है कि आमतौर पर जब आप धक्का दे रहे होते हैं, तो आप अक्सर एक सरणी समझ की तरह काफी कुछ कर रहे होते हैं । सभी मामलों में, भर्ती नहीं, लेकिन बहुत समय।
सुरनिआमी

3
@ सुर्यनमी इसके विपरीत, मैं इसके लिए किसी भी अच्छे उपयोग के बारे में नहीं सोच सकता। मैं बहुत अधिक बस करूँगा things = list, यह कहीं अधिक रसीला है।
माइकल डोरस्ट जूल

@suranyami लिंक मृत है।
derekdreery

@anthropomorphic खैर, निश्चित रूप से। यह एक विरोधाभासी उदाहरण है। मान लीजिए कि यह कुछ इस तरह से है: colors = (item.color for item in list)
suranyami

2

यदि आप कॉल को चेंज कर रहे हैं तो आप चाहते हैं कि एपेंड लंबाई के बजाय एरे को लौटा दे। इस स्थिति में आप .concat ([newElement]) का उपयोग कर सकते हैं

हो सकता है [newElement] जैसा कि समवर्ती एक सरणी की उम्मीद कर रहा है जैसे कि इसका समवर्ती होना। कुशल नहीं है लेकिन सही सेटिंग में अच्छा दिखता है।


कॉलिंग कॉलिंग एक स्टाइलिश चीज के रूप में अधिक है जो आप कर सकते हैं, जैसा कि आपने कहा "विधि कुशल नहीं है" - concatसरणी A के तत्वों से निर्मित एक नया सरणी देता है। बी + ऑब्जेक्ट्स के संदर्भ में ऑब्जेक्ट में संदर्भित परिवर्तन को रखा जाता है। किसी भी सरणी A, सरणी B या संक्षिप्त परिणाम अन्य सरणियों में भी परिलक्षित होगा।
सिडऑफ
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.