स्विफ्ट में खाली सरणी कैसे बनाएं?


155

हम वास्तव में स्विफ्ट में एक सरणी बनाने के तरीकों से भ्रमित हैं। क्या आप मुझे बता सकते हैं कि कुछ विवरण के साथ खाली सरणी बनाने के कितने तरीके हैं?


9
var myArray: [स्ट्रिंग] = []
लियो डबस



तो मुझे क्या करना चाहिए अगर मैं अपने सरणी में किसी भी प्रकार की वस्तु को संग्रहीत करना चाहता हूं?
इयूयशा

var myArray: [AnyObject] = []
लियो डबस

जवाबों:


297

हेयर यू गो:

var yourArray = [String]()

उपरोक्त अन्य प्रकारों के लिए भी काम करता है, न कि केवल तारों के लिए। यह सिर्फ एक उदाहरण है।

इसमें मूल्यों को जोड़ना

मुझे लगता है कि आप अंततः इसके लिए एक मूल्य जोड़ना चाहते हैं!

yourArray.append("String Value")

या

let someString = "You can also pass a string variable, like this!"
yourArray.append(someString)

सम्मिलित करके जोड़ें

एक बार जब आपके पास कुछ मूल्य होते हैं, तो आप जोड़ के बजाय नए मान सम्मिलित कर सकते हैं। उदाहरण के लिए, यदि आप सरणी की शुरुआत में नई वस्तुओं को सम्मिलित करना चाहते हैं (बजाय उन्हें अंतिम रूप देने के):

yourArray.insert("Hey, I'm first!", atIndex: 0)

या आप अपनी प्रविष्टि को अधिक लचीला बनाने के लिए चर का उपयोग कर सकते हैं:

let lineCutter = "I'm going to be first soon."
let positionToInsertAt = 0
yourArray.insert(lineCutter, atIndex: positionToInsertAt)

आप अंततः कुछ सामान निकालना चाहते हैं

var yourOtherArray = ["MonkeysRule", "RemoveMe", "SwiftRules"]
yourOtherArray.remove(at: 1)

उपरोक्त महान काम करता है जब आप जानते हैं कि सरणी में मूल्य कहां है (अर्थात, जब आप इसके सूचकांक मूल्य को जानते हैं)। जैसे ही इंडेक्स मान 0 से शुरू होता है, दूसरी प्रविष्टि इंडेक्स 1 पर होगी।

सूचकांक को जाने बिना मूल्यों को हटाना

लेकिन अगर आप नहीं करते हैं तो क्या होगा? क्या होगा यदि आपके ओथरअरे में सैकड़ों मान हैं और आप सभी जानते हैं कि क्या आप "RemoveMe" के बराबर एक को हटाना चाहते हैं?

if let indexValue = yourOtherArray.index(of: "RemoveMe") {
    yourOtherArray.remove(at: indexValue)
}

इससे आप कार्य शुरू कर पाएंगे!


यकीन नहीं होता कि इस जवाब में सबसे ज्यादा वोट क्यों हैं। यह उन सभी प्रश्नों के उत्तर देता है, जिन्हें ओपी ने कभी नहीं पूछा, लेकिन केवल एक खाली सरणी बनाने का एक तरीका प्रदान करता है, जब प्रश्न पूछा जाता है 'कृपया मुझे बताएं कि खाली सरणी बनाने के कितने तरीके हैं'।
काल

27
var myArr1 = [AnyObject]()

किसी भी वस्तु को स्टोर कर सकते हैं

var myArr2 = [String]()

केवल स्ट्रिंग स्टोर कर सकते हैं


क्या आप बता सकते हैं कि ऐरे लिस्ट के अंदर एलिमेंट को कैसे जोड़ा जाए
गौथमैन एम

25

आप उपयोग कर सकते हैं

var firstNames: [String] = []

24

स्विफ्ट 3

स्विफ्ट में एक खाली सरणी बनाने के तीन (3) तरीके हैं और शॉर्टहैंड सिंटैक्स तरीका हमेशा पसंद किया जाता है।

विधि 1: शॉर्टहैंड सिंटैक्स

var arr = [Int]()

विधि 2: एरियर इनिशियलाइज़र

var arr = Array<Int>()

विधि 3: एक ऐरेल लिटरल के साथ सरणी

var arr:[Int] = []

विधि 4: क्रेडिट @ बॉलपॉइंटबैन पर जाता है

var arr:Array<Int> = []

1
या var arr: Array<Int> = [][T]के लिए बस आशुलिपि हैArray<T>
BallpointBen

@XinyangLi शॉर्टहैंड सिंटैक्स को क्यों पसंद किया जाता है? क्या उन 4 तरीकों के बीच संकलन समय में कोई अंतर है?
क्लीमकैम

20

एक सरणी को तेजी से बनाने / बनाने के 2 प्रमुख तरीके हैं।

var myArray = [Double]()

इससे डबल्स की एक सरणी बन जाएगी।

var myDoubles = [Double](count: 5, repeatedValue: 2.0)

यह 5 डबल्स की एक सरणी बनाएगा, सभी 2.0 के मूल्य के साथ आरंभ करेंगे।


धन्यवाद, क्या मैं इस तरह की घोषणा कर सकता हूं 'var myArray = [AnyObject] () `?
इनुयशा

हां, यह 'AnyObject' की एक सरणी बना देगा, जो आपको वहां कुछ भी करने की अनुमति देगा। जब तक आपको इस तरह की एक सरणी की आवश्यकता नहीं होती, तब तक इसे 'var myArray = [String] ()' जैसे विशिष्ट मान देना बेहतर होगा।
हारून

: नोट स्विफ्ट 4 निम्न के मूल्यों को दोहरा के साथ सरणी initialising वाक्य विन्यास बदल var myDoubles = [Double](repeating: 2.0, count: 5)टिप्पणी मापदंडों के आदेश के परिवर्तन और के लेबल में परिवर्तन - repeatedValueकरने के लिएrepeating
HirdayGupta

8

यदि आप स्ट्रिंग प्रकार की एक खाली सरणी घोषित करना चाहते हैं, तो आप इसे 5 अलग-अलग तरीकों से कर सकते हैं: -

var myArray: Array<String> = Array()
var myArray = [String]()
var myArray: [String] = []
var myArray = Array<String>()
var myArray:Array<String> = []

किसी भी प्रकार का एरियर: -

    var myArray: Array<AnyObject> = Array()
    var myArray = [AnyObject]()
    var myArray: [AnyObject] = []
    var myArray = Array<AnyObject>()
    var myArray:Array<AnyObject> = []

इंटर्जर प्रकार की सरणी: -

    var myArray: Array<Int> = Array()
    var myArray = [Int]()
    var myArray: [Int] = []
    var myArray = Array<Int>()
    var myArray:Array<Int> = []

7

यहां स्विफ्ट 4 में कुछ सामान्य कार्य दिए गए हैं जिनका उपयोग आप संदर्भ के रूप में तब तक कर सकते हैं जब तक आप चीजों के अभ्यस्त न हो जाएं।

    let emptyArray = [String]()
    let emptyDouble: [Double] = []

    let preLoadArray = Array(repeating: 0, count: 10) // initializes array with 10 default values of the number 0

    let arrayMix = [1, "two", 3] as [Any]
    var arrayNum = [1, 2, 3]
    var array = ["1", "two", "3"]
    array[1] = "2"
    array.append("4")
    array += ["5", "6"]
    array.insert("0", at: 0)
    array[0] = "Zero"
    array.insert(contentsOf: ["-3", "-2", "-1"], at: 0)
    array.remove(at: 0)
    array.removeLast()
    array = ["Replaces all indexes with this"]
    array.removeAll()

    for item in arrayMix {
        print(item)
    }

    for (index, element) in array.enumerated() {
        print(index)
        print(element)
    }

    for (index, _) in arrayNum.enumerated().reversed() {
        arrayNum.remove(at: index)
    }

    let words = "these words will be objects in an array".components(separatedBy: " ")
    print(words[1])

    var names = ["Jemima", "Peter", "David", "Kelly", "Isabella", "Adam"]
    names.sort() // sorts names in alphabetical order

    let nums = [1, 1234, 12, 123, 0, 999]
    print(nums.sorted()) // sorts numbers from lowest to highest

4

स्विफ्ट में Array को ** Array <Element> ** के रूप में लिखा जाता है, जहाँ Element एक प्रकार का मान है जिसे सरणी को संग्रहीत करने की अनुमति है।

ऐरे को इनिशियलाइज़ किया जा सकता है:

let emptyArray = [String]()

यह दर्शाता है कि इसकी एक प्रकार की स्ट्रिंग है

रिक्तअरे चर का प्रकार इनिशियलाइज़र के प्रकार से [स्ट्रिंग] होने का अनुमान है।

तत्वों के साथ टाइप स्ट्रिंग की सरणी बनाने के लिए

var groceryList: [String] = ["Eggs", "Milk"]

किराने का सामान दो वस्तुओं के साथ शुरू किया गया है

ग्रॉसरीस्ट चर को "स्ट्रिंग मानों की एक सरणी" के रूप में घोषित किया जाता है , जिसे [स्ट्रिंग] लिखा जाता है। इस विशेष सरणी ने स्ट्रिंग के एक मूल्य प्रकार को निर्दिष्ट किया है, इसे केवल स्ट्रिंग मानों को संग्रहीत करने की अनुमति है।

सरणी के विभिन्न प्रकार हैं:

- यह जाँचने के लिए कि सरणी में तत्व हैं (यदि सरणी खाली है या नहीं)

सम्‍मिलित संपत्ति (बूलियन) यह जाँचने के लिए कि क्‍या गणना गुण 0 के बराबर है:

if groceryList.isEmpty {
    print("The groceryList list is empty.")
} else {
    print("The groceryList is not empty.")
}

- सरणी में तत्वों को जोड़ना (जोड़ना)

आप सरणी के परिशिष्ट (_ :) विधि को कॉल करके एक सरणी के अंत में एक नया आइटम जोड़ सकते हैं:

groceryList.append("Flour")

किराने की दुकान में अब 3 आइटम हैं।

वैकल्पिक रूप से, अतिरिक्त असाइनमेंट ऑपरेटर (+ =) के साथ एक या एक से अधिक संगत वस्तुओं की एक सरणी जोड़ें:

groceryList += ["Baking Powder"]

किराने की दुकान में अब 4 आइटम हैं

groceryList += ["Chocolate Spread", "Cheese", "Peanut Butter"]

किराने की दुकान में अब 7 आइटम हैं


3

स्विफ्ट 5 के अनुसार

    // An array of 'Int' elements
    let oddNumbers = [1, 3, 5, 7, 9, 11, 13, 15]

    // An array of 'String' elements
    let streets = ["Albemarle", "Brandywine", "Chesapeake"]

    // Shortened forms are preferred
    var emptyDoubles: [Double] = []

    // The full type name is also allowed
    var emptyFloats: Array<Float> = Array()

2

आप सरणी अनुक्रमणिका को पास करने के साथ सरणी सामग्री को निकाल सकते हैं या आप सभी को निकाल सकते हैं

    var array = [String]()
    print(array)
    array.append("MY NAME")
    print(array)
    array.removeFirst()
    print(array)
    array.append("MY NAME")
    array.removeLast()
    array.append("MY NAME1")
    array.append("MY NAME2")
    print(array)
    array.removeAll()
    print(array)

1

स्विफ्ट 5

// Create an empty array
var emptyArray = [String]()

// Add values to array by appending (Adds values as the last element)
emptyArray.append("Apple")
emptyArray.append("Oppo")

// Add values to array by inserting (Adds to a specified position of the list)
emptyArray.insert("Samsung", at: 0)

// Remove elements from an array by index number
emptyArray.remove(at: 2)

// Remove elements by specifying the element
if let removeElement = emptyArray.firstIndex(of: "Samsung") {
    emptyArray.remove(at: removeElement)
}

एक समान उत्तर दिया गया है लेकिन वह स्विफ्ट (स्विफ्ट 5) के नवीनतम संस्करण के लिए काम नहीं करता है, इसलिए यहां अपडेट किया गया उत्तर है। आशा करता हूँ की ये काम करेगा! :)


1

किसी पूर्वनिर्धारित गणना के साथ एक सरणी शुरू करना:

Array(repeating: 0, count: 10)

मैं अक्सर इसका उपयोग मैपिंग स्टेटमेंट के लिए करता हूं जहां मुझे एक निर्दिष्ट संख्या में मॉक ऑब्जेक्ट की आवश्यकता होती है। उदाहरण के लिए,

let myObjects: [MyObject] = Array(repeating: 0, count: 10).map { _ in return MyObject() }


0

के साथ संगत: Xcode 6.0.1+

आप घोषणा में अपने सरणी के तत्व प्रकार को निर्दिष्ट करके एक खाली सरणी बना सकते हैं।

उदाहरण के लिए:

// Shortened forms are preferred
var emptyDoubles: [Double] = []

// The full type name is also allowed
var emptyFloats: Array<Float> = Array()

सेब डेवलपर पृष्ठ (सरणी) से उदाहरण:

आशा है कि यह इस पृष्ठ पर किसी को ठोकर खाने में मदद करता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.