2011-01-19 15 views
59

जावास्क्रिप्ट concat() फ़ंक्शन के उद्देश्य-सी समकक्ष क्या है?मैं उद्देश्य-सी में दो सरणी कैसे जोड़ूं?

मानते हैं कि दोनों वस्तुएं सरणी हैं, आप उन्हें कैसे संयोजित करेंगे?

+0

ऐसा लगता है कि आप कैलेंडर ऑपरेशन कर रहे हैं। कृपया 'एनएससीएंडरडर' और 'एनएसडीएट कॉम्पोनेंट्स' और दोस्तों का उपयोग करने के लिए उन्हें अपने लिए करने पर विचार करें। वे एक मामूली विषय नहीं हैं। क्या आप लीप महीने खाते में ले रहे हैं? डेलाइट बचत समय के बारे में कैसे? लीप सेकंड के बारे में क्या? इत्यादि –

+0

@ डेवडेलॉन्ग - अभी मैं एक छोटी जावास्क्रिप्ट लाइब्रेरी पोर्ट कर रहा हूं। वास्तविक रीराइट के साथ किए जाने के बाद मैं कोड को दोबारा कर दूंगा। मेरा पहला लक्ष्य उद्देश्य-सी में जानकारी प्राप्त करना और बाद में अनुकूलित करना है। – Moshe

उत्तर

192

NSArray के arrayByAddingObjectsFromArray: अधिक या कम जावास्क्रिप्ट का .concat() विधि के बराबर है:

NSArray *newArray=[firstArray arrayByAddingObjectsFromArray:secondArray]; 

नोट: यदि firstArray नहीं के बराबर है, newArray नहीं के बराबर हो जाएगा। इस का उपयोग करके ठीक किया जा सकता है:

NSArray *uniqueEntries = (NSArray *)[[NSSet setWithArray:newArray] allObjects]; 
+2

क्या इसे 'firstArray' को' NSMutableArray' होने की आवश्यकता होगी? – Moshe

+2

नहीं, यह NSArray – codelark

+4

@Moshe पर एक विधि है यह एक नया (अपरिवर्तनीय) NSArray ऑब्जेक्ट देता है, और मूल सरणी को परिवर्तित नहीं करता है, इसलिए यह NSArray ऑब्जेक्ट्स पर ठीक काम करता है। – grahamparks

2

यहाँ सिर्फ एक खाली सरणी के साथ शुरुआत से एक सममित & आसान तरीका है::

NSArray* newArray = @[]; 
newArray = [newArray arrayByAddingObjectsFromArray:firstArray]; 
newArray = [newArray arrayByAddingObjectsFromArray:secondArray]; 

NSArray *newArray=firstArray?[firstArray arrayByAddingObjectsFromArray:secondArray]:[[NSArray alloc] initWithArray:secondArray]; 

आप के लिए पट्टी से बाहर डुप्लिकेट चाहते हैं

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