Bagaimana cara membuat array kosong di Swift?

154

Saya benar-benar bingung dengan cara kita membuat array di Swift. Bisakah Anda memberi tahu saya berapa banyak cara untuk membuat array kosong dengan beberapa detail?

Inuyasha
sumber
9
var myArray: [String] = []
Leo Dabus
Jadi apa yang harus saya lakukan jika saya ingin menyimpan segala jenis objek dalam array saya?
Inuyasha
var myArray: [AnyObject] = []
Leo Dabus

Jawaban:

296

Ini dia:

var yourArray = [String]()

Di atas juga berfungsi untuk tipe lain dan bukan hanya string. Itu hanya sebuah contoh.

Menambahkan Nilai ke Ini

Saya kira Anda akhirnya ingin menambahkan nilai untuk itu!

yourArray.append("String Value")

Atau

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

Tambahkan dengan Memasukkan

Setelah Anda memiliki beberapa nilai, Anda dapat memasukkan nilai baru alih-alih menambahkan. Misalnya, jika Anda ingin memasukkan objek baru di awal array (alih-alih menambahkannya ke akhir):

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

Atau Anda dapat menggunakan variabel untuk membuat sisipan Anda lebih fleksibel:

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

Anda Mungkin Akhirnya Ingin Menghapus Beberapa Barang

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

Di atas berfungsi dengan baik ketika Anda tahu di mana dalam array nilainya (yaitu, ketika Anda tahu nilai indeksnya). Saat nilai indeks dimulai dari 0, entri kedua akan berada di indeks 1.

Menghapus Nilai Tanpa Mengetahui Indeks

Tetapi bagaimana jika Anda tidak melakukannya? Bagaimana jika YourOtherArray Anda memiliki ratusan nilai dan yang Anda tahu adalah Anda ingin menghapus yang sama dengan "RemoveMe"?

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

Ini seharusnya membuatmu memulai!

Dave G
sumber
Tidak yakin mengapa jawaban ini memiliki suara terbanyak. Ini menjawab banyak pertanyaan yang tidak pernah ditanyakan oleh OP, tetapi hanya menyediakan satu cara untuk membuat array kosong, ketika pertanyaan bertanya 'tolong beri tahu saya berapa banyak cara untuk membuat array kosong'.
Kal
27
var myArr1 = [AnyObject]()

dapat menyimpan objek apa pun

var myArr2 = [String]()

hanya dapat menyimpan string

vichhai
sumber
dapatkah Anda memberi tahu cara menambahkan elemen di dalam daftar array
Gowthaman M
25

Anda bisa menggunakannya

var firstNames: [String] = []
DPen
sumber
24

Cepat 3

Ada tiga (3) cara untuk membuat array kosong dengan cara sintaks Swift dan steno selalu lebih disukai.

Metode 1: Sintaks Singkatan

var arr = [Int]()

Metode 2: Array Initializer

var arr = Array<Int>()

Metode 3: Array dengan Array Literal

var arr:[Int] = []

Metode 4: Kredit jatuh ke @BallpointBen

var arr:Array<Int> = []
Lorem Ipsum Dolor
sumber
1
Atau var arr: Array<Int> = []. [T]hanya singkatan untukArray<T>
BallpointBen
@XinyangLi mengapa sintaks singkatan lebih disukai? Apakah ada perbedaan waktu kompilasi antara 4 cara itu?
KlimczakM
20

Ada 2 cara utama untuk membuat / menginternalisasi array di swift.

var myArray = [Double]()

Ini akan membuat array ganda.

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

Ini akan membuat array 5 ganda, semua diinisialisasi dengan nilai 2.0.

Harun
sumber
Terima kasih, bisakah saya menyatakan seperti ini `var myArray = [AnyObject] ()`?
Inuyasha
Ya, itu akan membuat array 'AnyObject' yang akan memungkinkan Anda untuk meletakkan apa saja di sana. Kecuali Anda membutuhkan array seperti ini, akan lebih baik untuk memberikannya nilai spesifik seperti 'var myArray = [String] ()'.
Aaron
Note Swift 4 mengubah sintaksis untuk menginisialisasi array dengan mengulangi nilai-nilai sebagai berikut: var myDoubles = [Double](repeating: 2.0, count: 5)- perhatikan perubahan urutan parameter dan perubahan label repeatedValuekerepeating
HirdayGupta
8

Jika Anda ingin mendeklarasikan array kosong tipe string, Anda dapat melakukannya dengan 5 cara berbeda: -

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

Array jenis apa pun: -

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

Array tipe Integer: -

    var myArray: Array<Int> = Array()
    var myArray = [Int]()
    var myArray: [Int] = []
    var myArray = Array<Int>()
    var myArray:Array<Int> = []
piyush ranjan
sumber
7

Berikut adalah beberapa tugas umum dalam Swift 4 yang dapat Anda gunakan sebagai referensi hingga Anda terbiasa dengan berbagai hal.

    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
Polisi
sumber
4

Array dalam cepat ditulis sebagai ** Array <Elemen> **, di mana Elemen adalah tipe nilai yang diizinkan disimpan oleh array.

Array dapat diinisialisasi sebagai:

let emptyArray = [String]()

Ini menunjukkan bahwa ini adalah array tipe string

Tipe variabel blankArray disimpulkan sebagai [String] dari tipe initializer.

Untuk Membuat array tipe string dengan elemen

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

groceryList telah diinisialisasi dengan dua item

Variabel groceryList dinyatakan sebagai "array nilai string" , ditulis sebagai [String]. Array khusus ini telah menetapkan tipe nilai String, diizinkan untuk menyimpan nilai String saja.

Ada berbagai hak array seperti:

- Untuk memeriksa apakah array memiliki elemen (Jika array kosong atau tidak)

Properti isEmpty (Boolean) untuk memeriksa apakah properti count sama dengan 0:

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

- Menambahkan (menambahkan) elemen dalam array

Anda dapat menambahkan item baru ke akhir array dengan memanggil metode append array (_ :):

groceryList.append("Flour")

groceryList sekarang mengandung 3 item.

Atau, tambahkan array dari satu atau lebih item yang kompatibel dengan operator penugasan tambahan (+ =):

groceryList += ["Baking Powder"]

groceryList sekarang berisi 4 item

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

groceryList sekarang mengandung 7 item

ABS
sumber
3

Sesuai Swift 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()
Manoj Perumarath
sumber
2

Anda dapat menghapus konten array dengan melewati indeks array atau Anda dapat menghapus semua

    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)
Ullas Pujary
sumber
1

Cepat 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)
}

Jawaban serupa diberikan tetapi itu tidak berfungsi untuk versi terbaru Swift (Swift 5), jadi inilah jawaban yang diperbarui. Semoga ini bisa membantu! :)

Abdullah Ajmal
sumber
1

Memulai array dengan jumlah yang telah ditentukan:

Array(repeating: 0, count: 10)

Saya sering menggunakan ini untuk memetakan pernyataan di mana saya membutuhkan sejumlah objek tiruan. Sebagai contoh,

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

thexande
sumber
0

Kompatibel dengan: Xcode 6.0.1+

Anda bisa membuat array kosong dengan menentukan tipe elemen array Anda dalam deklarasi.

Sebagai contoh:

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

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

Contoh dari halaman pengembang apel (Array):

Semoga ini bisa membantu siapa pun tersandung ke halaman ini.

CrazyOne
sumber