কীভাবে সুইফটে খালি অ্যারে তৈরি করবেন?


154

আমরা সুইফটে যেভাবে অ্যারে তৈরি করি তার সাথে আমি সত্যিই বিভ্রান্ত। আপনি কি দয়া করে আমাকে কিছু বিশদ সহ খালি অ্যারে তৈরির কতগুলি উপায় বলতে পারেন?


9
var myArray: [স্ট্রিং] = []
লিও ডাবাস



সুতরাং আমি কি করব যদি আমি আমার অ্যারেতে কোনও ধরণের অবজেক্টটি সঞ্চয় করতে পারি?
ইনুয়শা

var myArray: [যেকোনও অবজেক্ট] = []
লিও ডাবাস

উত্তর:


295

আপনি এখানে যান:

var yourArray = [String]()

উপরেরগুলি অন্যান্য স্ট্রিংগুলির জন্যও কাজ করে কেবল স্ট্রিংগুলিতে নয়। এটি কেবল একটি উদাহরণ।

এতে মান যুক্ত করা হচ্ছে

আমার ধারণা আপনি শেষ পর্যন্ত এর সাথে একটি মান যুক্ত করতে চাইবেন!

yourArray.append("String Value")

অথবা

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

প্রবেশ করে যুক্ত করুন Add

আপনার কয়েকটি মান হয়ে গেলে আপনি সংযোজন পরিবর্তে নতুন মান সন্নিবেশ করতে পারেন। উদাহরণস্বরূপ, আপনি যদি অ্যারের শুরুতে নতুন অবজেক্টগুলি সন্নিবেশ করতে চান (সেগুলি শেষ পর্যন্ত যুক্ত করার পরিবর্তে):

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 এ হবে।

সূচি না জেনে মূল্যবোধ সরানো

তবে কি না করলে? আপনার অরআর্রে শত শত মান রয়েছে এবং আপনি কি জানেন যে আপনি কি "সরানমাই" এর সমানটি মুছে ফেলতে চান?

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

এই কমান্ডের সাহায্যে আপনি শুরু করতে হবে!


নিশ্চিত নয় কেন এই উত্তরে সর্বাধিক ভোট রয়েছে। এটি ওপি কখনই জিজ্ঞাসা করে না এমন পুরো প্রশ্নের উত্তর দেয় তবে কেবল একটি ফাঁকা অ্যারে তৈরির জন্য একটি উপায় সরবরাহ করে, যখন প্রশ্নটি জিজ্ঞাসা করা হয়েছিল 'দয়া করে আমাকে খালি অ্যারে তৈরির কতগুলি উপায় বলুন'।
কাল

27
var myArr1 = [AnyObject]()

যে কোন বস্তু সংরক্ষণ করতে পারেন

var myArr2 = [String]()

শুধুমাত্র স্ট্রিং সংরক্ষণ করতে পারেন


অ্যারে তালিকার অভ্যন্তরে কীভাবে উপাদান যুক্ত করবেন তা আপনি বলতে পারেন
গৌথামান এম

24

আপনি ব্যবহার করতে পারেন

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>
বলপয়েন্টবেন

পছন্দ করেছেন এই 4 টির মধ্যে সংকলনের সময়টিতে কি কোনও পার্থক্য রয়েছে?
KlimczakM

20

সুইফটিতে অ্যারে তৈরি / অন্তর্নিহিত করার জন্য দুটি বড় উপায় রয়েছে।

var myArray = [Double]()

এটি ডাবলসের একটি অ্যারে তৈরি করবে।

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

এটি 5 ডাবলের অ্যারে তৈরি করবে, সমস্ত 2.0 এর মান দিয়ে শুরু করা।


ধন্যবাদ, আমি কি এই জাতীয় A var myArray = [AnyObject] () like এর মতো ঘোষণা করতে পারি?
ইনুইশা

হ্যাঁ, এটি 'যেকোনওবজেক্ট' এর একটি অ্যারে তৈরি করবে যা আপনাকে সেখানে বেশ কিছু দিতে দেয়। আপনার যদি এর মতো অ্যারের প্রয়োজন না হয় তবে এটি 'var myArray = [স্ট্রিং] ()' এর মতো একটি নির্দিষ্ট মান দেওয়া ভাল।
হারুন

: নোট সুইফট 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

3

সুইফ ইন অ্যারে ** অ্যারে <এলিমেন্ট> ** হিসাবে লেখা হয়, যেখানে এলিমিটি অ্যারে সংরক্ষণের জন্য অনুমোদিত মানের মান।

অ্যারে হিসাবে আরম্ভ করা যেতে পারে:

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

এর সাথে সামঞ্জস্যপূর্ণ: এক্সকোড 6.0.1+

ঘোষণায় আপনার অ্যারের এলিমেন্ট প্রকারটি নির্দিষ্ট করে আপনি একটি খালি অ্যারে তৈরি করতে পারেন।

উদাহরণ স্বরূপ:

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

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

আপেল বিকাশকারী পৃষ্ঠা (অ্যারে) থেকে উদাহরণ:

আশা করি এটি যে কাউকে এই পৃষ্ঠাতে হোঁচট খাতে সহায়তা করবে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.