現在發生一個問題
在新增收入的部分
會顯示目前有的商品數量
但我只想要把重複的產品數量加總起來
我想到道應該有改SQLite的語法
下去Select
第二種作法就是自行去除重複變數
所以查到contains的用法
一起來看看吧
如果單純 找字串String的話
let str = "abcd1234"
print(str.contains("a")) //true
print(str.contains("123")) //true
print(str.contains("5678")) //false
你以為只能找字串嗎
並不是
她其實可以直接找Array裡面的重複字串
let name = ["ab", "cd", "1234"]
print(str.contains("ab"))//true
print(str.contains("5678"))//false
Set裡面的insert()
插入元素且數值重複不影響集合
也就是儲存時會檢查裡面是否有重複
MySQL也有類似的語法
宣告要檢查的Array
var array: Array<String> = []
array.append("123")
array.append("456")
array.append("123")
宣告set 且使用for
檢查所有Array
var set = Set<String>()
for item in array {
set.insert(item)
}
輸出結果
[123,456]
兩個Array
var array1: Array<String> = []
array1.append("123")
array1.append("123")
array1.append("456")
array1.append("789")
array1.append("012")
var array2: Array<String> = []
array2.append("123")
array2.append("456")
array2.append("1")
array2.append("2")
func傳入兩個Array
先去除重複
在檢查相同變數
func checkArray(array1: Array<String>, array2: Array<String>) -> Array<String> {
var list = Array<String>()
var set = Set<String>()
for item in array1 {
set.insert(item)
}
for item in array2 {
if set.contains(item) {
list.append(item)
}
}
return list
}
結果
[123,456]