Swift程序:移除数组中所有指定元素
在这篇文章中,我们将学习如何编写一个Swift程序来移除数组中所有指定元素的出现。我们将使用以下方法:
使用内置函数
不使用内置函数
方法一:使用removeAll()函数
为了移除数组中所有指定元素的出现,我们使用一个预定义的函数`removeAll(where:)`。此函数移除给定序列中满足给定条件的所有元素。例如:
Array = [2, 3, 5, 67, 2, 87, 2, 68] Element = 2 Output array = [3, 5, 67, 87, 68]
这里我们将移除原始数组中所有出现的数字2,并在输出中显示数组中剩余的元素。
语法
以下是语法:
mutating func removeAll(where removeElement:(self.Element) throws ->Bool)rethrows
这里`removeElement`是一个闭包,它接收给定序列中的一个元素作为参数,并返回一个布尔值,表示是否从给定序列中移除该元素。
算法
**步骤1** — 创建一个数组。
**步骤2** — 使用`removeAll(where:)`方法移除所有指定元素的出现。
Array.removeAll{$0 == 6}
**步骤3** — 打印输出
示例
import Foundation
import Glibc
// Creating an array of integer type
var Array : [Int] = [34, 6, 7, 81, 6, 56, 6, 32, 6, 6]
print("Original array:", Array)
// Deleting all the occurrences of 6 in the given array
// Using removeAll(where:) method
Array.removeAll{$0 == 6}
print("Modified array", Array)
输出
在下面的示例中,我们使用`removeAll(where:)`方法从数组中移除所有给定数字的出现。
Original array: [34, 6, 7, 81, 6, 56, 6, 32, 6, 6] Modified array [34, 7, 81, 56, 32]
在上面的代码中,我们创建了一个整数类型的数组,其值为:[34, 6, 7, 81, 6, 56, 6, 32, 6, 6]。其中数字6在数组中出现了5次,现在我们想从数组中移除所有5次出现的6。因此,我们使用`removeAll{$0 == 6}`,这里`$0`表示传递到闭包中的数组的第一个元素。`removeAll{$0 == 6}`方法检查数组中从索引0到结尾的每个元素,并只移除满足给定条件的元素。
方法二:不使用内置函数
为了移除数组中所有指定元素的出现,我们使用条件语句。这里的条件语句将每个元素与要从数组中删除的元素进行比较。如果条件为真,则跳过该元素并打印其余的数组元素。
算法
**步骤1** — 创建一个函数。
**步骤2** — 使用`count`属性查找数组的大小。
**步骤3** — 使用for循环遍历数组的每个元素。迭代从0到数组大小-1。
**步骤4** — 使用if-else语句检查给定的数组元素是否等于该数字。如果当前数组元素等于给定的数字,则继续循环,否则打印数组。
**步骤5** — 在函数外部创建一个数组。
**步骤6** — 将要删除的数字赋值给一个变量。
**步骤7** — 调用函数并将数组和数字(要删除的数字)作为参数传递。
**步骤8** — 打印输出。
示例
在下面的示例中,我们使用条件语句从数组中移除所有给定数字的出现。
import Foundation
import Glibc
// Creating a function to delete all the
// occurrence of 1 from the given array
func DeleteElement(arr:[Int], num: Int) {
let arrSize = arr.count
print("Modified Array:")
// Iterate through each element of the array
for x in 0..<arrSize {
// If the array element is equal to the given num
// then continue the loop otherwise print the array
if (arr[x] == num) {
continue
} else {
print(arr[x], terminator:",")
}
}
}
// Creating an array of integer type
var Array : [Int] = [24, 1, 7, 91, 1, 56, 1, 42, 1, 0]
print("Original array:", Array)
let element = 1
// Calling the function
DeleteElement(arr:Array, num: element)
输出
Original array: [24, 1, 7, 91, 1, 56, 1, 42, 1, 0] Modified Array: 24,7,91,56,42,0,
在上面的代码中,我们创建了一个名为`DeleteElement()`的函数,它接收两个参数:一个数组和一个数字`num`(我们想要移除其所有出现的数字)。在这个函数中,我们遍历每个数组元素并使用`==`运算符与`num`进行比较。如果条件为真,则继续循环。否则,它将打印其余的数组。
结论
因此,为了从数组中移除所有指定元素的出现,我们可以根据需要使用内置函数或条件语句。两种方法都能很好地完成任务。
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP