Swift程式:查詢陣列中的偶數


在這篇文章中,我們將學習如何編寫一個Swift程式來查詢陣列中的偶數。

偶數是可以被2整除的數。例如,2、6、50、20等。我們將使用以下方法從陣列中查詢偶數。

  • 使用for-in迴圈

  • 使用filter()函式

方法1:使用for-in迴圈

為了從給定陣列中查詢偶數,我們使用for-in迴圈。使用for-in迴圈,我們迭代給定陣列的每個元素,並檢查該元素是否為偶數。

演算法

  • 步驟1 - 建立一個函式。

  • 步驟2 - 執行for迴圈以迭代陣列的每個元素。

  • 步驟3 - 使用模運算子檢查元素是否為偶數。如果當前元素的餘數為0,則該元素為偶數。因此,列印該元素。否則,移動到陣列的下一個元素。

  • 步驟4 - 建立一個整數型別的陣列。

  • 步驟5 - 呼叫函式並將陣列作為引數傳遞。

示例

以下Swift程式用於從陣列中查詢偶數。

import Foundation
import Glibc

// Function to find even number from the given array
func findEven(arr:[Int]) {
   for ele in arr {
    
      // Checking if the current element is even
      if ele % 2 == 0 {
         print(ele)
      }
   }
}
var numbers = [2, 3, 63, 98, 10, 31, 42, 8]
print("Original array:", numbers)
print("Even numbers are:")
findEven(arr:numbers)

輸出

Original array: [2, 3, 63, 98, 10, 31, 42, 8]
Even numbers are:
2
98
10
42
8

在上面的程式碼中,我們有一個整數型別的陣列。現在我們建立一個函式來從給定陣列中查詢偶數。因此,在這個函式中,我們使用for迴圈來迭代陣列的每個元素,並使用模運算子(%)檢查數字是否為偶數。模運算子返回除法運算的餘數。因此,如果當前元素除以2的餘數為0,則表示該數字為偶數,否則不是。

方法2:使用filter(_:)函式

我們還可以使用filter()函式從給定陣列中查詢偶數。filter(_:)函式返回一個數組,其中包含滿足給定條件的所有元素。

語法

func filter(_mClosure:(self.Element) throws -> Bool)rethrows->[Self.Element]

這裡,mClosure是一個閉包,它將給定序列中的專案作為引數,並返回一個布林值,指示是否應將該元素包含在返回的陣列中。

演算法

  • 步驟1 - 建立一個字串型別的陣列。

  • 步驟2 - 列印原始陣列。

  • 步驟3 - 使用filter()函式從給定陣列中查詢偶數 var result = ArrNum.filter{$0 % 2 == 0}

  • 步驟4 - 列印輸出。

示例

以下Swift程式用於從陣列中查詢偶數。

import Foundation
import Glibc
 
// Creating an array of integer type
var ArrNum = [34, 6, 21, 31, 8, 42, 9]

// Finding even numbers from the given array
var result = ArrNum.filter{$0 % 2 == 0}

print("Original Array: ", ArrNum)
print("Resultant Array: ", result)

輸出

Original Array:  [34, 6, 21, 31, 8, 42, 9]
Resultant Array:  [34, 6, 8, 42]

在上面的程式碼中,我們有一個整數型別的陣列。現在我們使用filter()函式從給定陣列中查詢偶數。為此,我們將$0 % 2 == 0作為閉包傳遞給filter()函式。此閉包從給定陣列中獲取從索引0到末尾的元素,並找到每個數字除以2的餘數。如果餘數等於0,則表示該數字為偶數,因此該數字將新增到結果陣列中。此過程將持續到給定陣列的最後一個元素。

結論

這就是我們如何從陣列中查詢偶數的方法。這裡兩種方法都返回準確的結果,並且它們僅適用於整數資料型別。

更新於:2023年1月17日

2K+ 瀏覽量

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.