成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Swift 數組、字典和集合

開發 前端
本文我們介紹 Arrays, Dictionaries 和 Sets 三種集合類型等相關的知識。通過與 TypeScript 語法的對比,希望能幫助您更好地理解 Swift 的相關特性。

本文我們將介紹 Swift 中的變量、常量和數據類型。如果你尚未安裝 Xcode 和配置 Swift 開發環境,請您先閱讀這篇文章。

接下來,我們啟動 Xcode,然后選擇 "File" > "New" > "Playground"。創建一個新的 Playground 并命名為 "Collections"。

Arrays

數組是一種用于存儲相同類型元素的有序集合,是 Swift 中常用的數據結構之一。讓我們通過比較 Swift 和 TypeScript 中的示例,了解如何使用數組以及它們的基本操作。

創建一個數組

Swift Code

var numbers = [1, 2, 3, 4, 5]
// 或者 var numbers: [Int] = [1, 2, 3, 4, 5]

var fruits = ["Apple", "Banana", "Orange"]
// 或者 var fruits: [String] = ["Apple", "Banana", "Orange"]

TypeScript Code

let numbers = [1, 2, 3, 4, 5];
// 或者 let numbers: number[] = [1, 2, 3, 4, 5];

let fruits = ["Apple", "Banana", "Orange"];
// 或者 let fruits: string[] = ["Apple", "Banana", "Orange"];

訪問和修改數組元素

在 Swift 和 TypeScript 中,您可以通過下標訪問和修改數組元素。

Swift Code

let firstNumber = numbers[0]
// firstNumber: 1

numbers[1] = 10

TypeScript Code

const firstNumber = numbers[0];
// firstNumber: 1

numbers[1] = 10;

添加元素

在 Swift 中,使用 append 方法添加元素。而在 TypeScript 中,是使用 push 方法。

Swift Code

fruits.append("Grapes")
// fruits: ["Apple", "Banana", "Orange", "Grapes"]

TypeScript Code

fruits.push("Grapes");
// fruits: ["Apple", "Banana", "Orange", "Grapes"]

刪除元素

在 Swift 中,使用 remove(at:) 方法刪除指定位置的元素。而在 TypeScript 中,是使用 splice 方法。

Swift Code

fruits.remove(at: 1)
// fruits: ["Apple", "Orange", "Grapes"]

TypeScript Code

fruits.splice(1, 1);
// fruits: ["Apple", "Orange", "Grapes"]

獲取數組長度

在 Swift 中,使用 count 屬性獲取數組長度。而在 TypeScript 中,是使用 length 屬性。

Swift Code

let count = fruits.count

TypeScript Code

const count = fruits.length;

遍歷數組元素

在 Swift 中,可以使用 for-in 遍歷數組。而在 TypeScript 中,可以使用 for-of 循環。

Swift Code

for fruit in fruits {
    print("I like \(fruit)s")
}

/**
Output:
I like Apples
I like Oranges
I like Grapess
*/

TypeScript Code

for (const fruit of fruits) {
    console.log(`I like ${fruit}s`);
}

/**
Output:
"I like Apples" 
"I like Oranges" 
"I like Grapess" 
*/

字典

字典是一種用于存儲鍵值對的集合,它允許你通過鍵來快速檢索值。

創建一個字典

在 Swift 中,字典使用 [Key: Value] 的語法來聲明,其中 Key 是鍵的數據類型,Value 是值的數據類型。

Swift Code

var studentScores = ["Alice": 95, "Bob": 87, "Charlie": 90]

TypeScript Code

let studentScores: { [key: string]: number } = { "Alice": 95, "Bob": 87, "Charlie": 90 };

訪問和修改字典元素

在 Swift 和 TypeScript 中,你可以通過鍵訪問和修改字典元素。

Swift Code

let aliceScore = studentScores["Alice"]

studentScores["Bob"] = 92
// studentScores: ["Alice": 95, "Bob": 92, "Charlie": 90]

TypeScript Code

const aliceScore = studentScores["Alice"];

studentScores["Bob"] = 92;
// studentScores: {"Alice": 95, "Bob": 92, "Charlie": 90}

添加鍵值對

在 Swift 和 TypeScript 中,使用下標賦值的方式添加鍵值對。

Swift Code

studentScores["David"] = 88
// studentScores: ["Charlie": 90, "Alice": 95, "Bob": 92, "David": 88]

TypeScript Code

studentScores["David"] = 88;
// studentScores: {"Charlie": 90, "Alice": 95, "Bob": 92, "David": 88}

刪除鍵值對

在 Swift 中,使用 removeValue(forKey:) 方法刪除指定鍵的鍵值對。而在 TypeScript 中,是使用 delete 操作符刪除鍵值對。

Swift Code

studentScores.removeValue(forKey: "Charlie")
// studentScores: ["David": 88, "Bob": 92, "Alice": 95]

TypeScript Code

delete studentScores["Charlie"];
// studentScores: {"David": 88, "Bob": 92, "Alice": 95}

獲取鍵和值的集合

在 Swift 中,通過 keys 和 values 屬性獲取字典的鍵和值的集合。而在 TypeScript 中,是使用 Object.keys 和 Object.values 方法。

Swift Code

let allKeys = Array(studentScores.keys)
let allValues = Array(studentScores.values)
// allKeys: ["David", "Bob", "Alice"]
// allValues: [88, 92, 95]

TypeScript Code

const allKeys: string[] = Object.keys(studentScores);
const allValues: number[] = Object.values(studentScores);
// allKeys: ["Alice", "Bob", "David"] 
// allValues: [95, 92, 88]

遍歷字典

在 Swift 和 TypeScript 中,都可以通過 for-in 循環遍歷字典。

Swift Code

for (name, score) in studentScores {
    print("\(name) scored \(score)")
}

/**
Output:
Alice scored 95
Bob scored 92
David scored 88
*/

TypeScript Code

for (const name in studentScores) {
    const score: number = studentScores[name];
    console.log(`${name} scored ${score}`);
}

/**
Output:
"Alice scored 95" 
"Bob scored 92"
"David scored 88" 
*/

集合

集合是一種無序、無重復元素的集合類型。在 Swift 中,集合通過 Set 類型表示。

創建一個集合

Swift Code

var numberSet: Set<Int> = [1, 2, 3, 4, 5]

TypeScript Code

let numberSet: Set<number> = new Set([1, 2, 3, 4, 5]);

添加元素

在 Swift 中,使用 insert 方法向集合中添加元素。而在 TypeScript 中,使用 add 方法。

Swift Code

numberSet.insert(6)
// numberSet: [3, 4, 5, 1, 2, 6]

TypeScript Code

numberSet.add(6);
// numberSet: {1, 2, 3, 4, 5, 6}

移除元素

在 Swift 中,使用 remove 方法移除集合中的元素。而在 TypeScript 中,使用 delete 方法。

Swift Code

numberSet.remove(3)
// numberSet: [5, 2, 1, 4, 6]

TypeScript Code

numberSet.delete(3);
// numberSet: {1, 2, 4, 5, 6}

遍歷集合

在 Swift 中,可以使用 for-in 循環遍歷集合。而在 TypeScript 中,可以通過 forEach 方法遍歷集合。

Swift Code

for number in numberSet {
    print("Number is \(number)")
}

/**
Output:
Number is 2
Number is 1
Number is 5
Number is 6
Number is 4
*/

TypeScript Code

numberSet.forEach((number) => {
    console.log(`Number is ${number}`);
});

/**
Output:
"Number is 1"
"Number is 2"
"Number is 4"
"Number is 5"
"Number is 6"
*/

集合交集

在 Swift 中,使用 intersection 方法獲取兩個集合的交集。而在 TypeScript 中,可以使用 Set 構造函數和 filter 方法。

Swift Code

let anotherSet: Set<Int> = [4, 5, 6]
let intersection = numberSet.intersection(anotherSet)

// numberSet: [1, 5, 4, 2, 6]
// anotherSet: [5, 4, 6]
// intersection: [5, 4, 6]

TypeScript Code

const anotherSet: Set<number> = new Set([4, 5, 6]);
const intersection: Set<number> = new Set([...numberSet].filter(x => anotherSet.has(x)));

// numberSet: {1, 2, 4, 5, 6} 
// anotherSet: {4, 5, 6}
// intersection: {4, 5, 6}

集合并集

在 Swift 中,使用 union 方法獲取兩個集合的并集。

Swift Code

let union = numberSet.union(anotherSet)

// numberSet: [5, 1, 4, 2, 6]
// anotherSet: [4, 5, 6]
// union: [5, 1, 4, 2, 6]

TypeScript Code

const union: Set<number> = new Set([...numberSet, ...anotherSet]);

// numberSet: {1, 2, 4, 5, 6} 
// anotherSet: {4, 5, 6}
// union: {1, 2, 4, 5, 6}

集合差集

在 Swift 中,使用 subtracting 方法獲取兩個集合的差集。而在 TypeScript 中,可以使用 Set 構造函數和 filter 方法。

Swift Code

let difference = numberSet.subtracting(anotherSet)

// numberSet: [6, 2, 4, 1, 5]
// anotherSet: [5, 6, 4]
// difference: [1, 2]

TypeScript Code

const difference: Set<number> = new Set([...numberSet].filter(x => !anotherSet.has(x)));

// numberSet: {1, 2, 4, 5, 6} 
// anotherSet: {4, 5, 6}
// difference: {1, 2}

本文我們介紹 Arrays, Dictionaries 和 Sets 三種集合類型等相關的知識。通過與 TypeScript 語法的對比,希望能幫助您更好地理解 Swift 的相關特性。

責任編輯:姜華 來源: 全棧修仙之路
相關推薦

2014-06-06 09:13:28

SwiftSwift編程

2015-07-07 10:43:59

Swift語法基礎

2012-04-26 10:52:52

Java數組集合

2022-10-27 14:12:56

Python字典數組

2015-04-17 16:30:46

swiftOC

2010-03-15 17:12:52

Python字典

2009-05-08 09:46:37

微軟C#集合對象

2022-03-21 19:45:06

序列數組Python

2009-06-30 14:01:00

Java集合框架Java數組排序

2025-03-19 09:02:18

Debouncing任務讓步Swift

2023-02-08 09:01:42

Swift元素流

2015-08-25 10:25:59

swift2.0字符串

2009-08-18 09:06:41

C#對象和集合

2024-06-21 15:19:40

2023-11-03 11:56:34

2024-02-23 10:10:00

List接口Java

2024-01-16 07:33:02

SwiftTypeScript可選綁定

2022-04-06 09:10:03

抽象類型普通類型Swift

2009-09-02 10:58:02

C#動態數組

2015-02-05 00:18:44

SwiftObjective-C
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 九九热这里 | www.蜜桃av | 国产日韩欧美 | 欧美一区二区在线观看 | 久久国产亚洲 | 欧美激情亚洲激情 | 中文字幕人成人 | 国产精品久久久久久久岛一牛影视 | 精品欧美乱码久久久久久1区2区 | 九九视频在线观看 | 亚洲一区中文字幕在线观看 | 国产视频h | 久久久91精品国产一区二区三区 | 羞羞羞视频 | 亚洲福利在线观看 | av在线免费观看网站 | 日日天天 | 国产精品99久久久久久宅男 | 国产精品国产三级国产aⅴ中文 | 亚洲精品久久久久avwww潮水 | 97精品超碰一区二区三区 | 国产91网站在线观看 | 成人免费视频在线观看 | 精品一区二区三区日本 | av国产精品 | 国产在线精品一区二区三区 | 国产精品免费看 | 欧美日韩亚洲国产综合 | 国产精品免费看 | 国产美女在线播放 | 天天操操| 91欧美精品 | 99久久精品免费视频 | 狠狠干五月天 | 成人久久| 久久不卡| 亚洲精品一区二区三区中文字幕 | 国产精品久久精品 | 成人一区在线观看 | 中文字幕一页二页 | 国产精品久久欧美久久一区 |