說,我有一個數組[20, 2, 3]
我怎樣才能乘以這個數組的每個Int值在Swift中?
所以2個數組變成[40, 4, 6]
,3個數組變成[60, 6, 9]
等等?如何將數組中的每個Int值與Swift中的常量相乘?
2
A
回答
10
您可以使用.map()
:
let values = [20, 2, 3]
let doubles = values.map { $0 * 2 }
let triples = values.map { $0 * 3 }
如果你想要做的更新就地:
var values = [20, 2, 3]
values.enumerate().forEach { index, value in
values[index] = value * 2
}
// values is now [40, 4, 6]
1
您可以使用一個for循環。
var array = [20, 2, 3]
let multiplier = 2
for i in 0...array.count - 1{
array[i] = array[i] * multiplier
}
4
map
絕對是一個很好的路要走 - 但如果你想,你在你的問題問的語法「2×陣列變成...」,你可以重載*
操作。
如果數組的元素是可多項式和與標量相同的類型,這將允許您通過標量內聯乘數組。
protocol Multipliable {
func *(lhs:Self, rhs:Self) -> Self
}
// add any additional types that you want to be multipliable here
extension Int:Multipliable {}
extension Double:Multipliable {}
extension Float:Multipliable {}
// map through the array elements, multiplying each by the rhs argument
func *<T:Multipliable>(lhs:[T], rhs:T) -> [T] {
return lhs.map {$0 * rhs}
}
// use an inout argument in order to multiply an array in-place
func *=<T:Multipliable>(inout lhs:[T], rhs:T) {
lhs = lhs*rhs
}
然後,您可以使用它像這樣:
let yourArray = [2, 3, 4]
var arr = yourArray * 4 // arr = [8, 12, 16]
arr *= 3 // arr = [24, 36, 48]
相關問題
- 1. 如何將整數與數組中的值相乘?
- 2. 如何將整數或double與數組中的值相乘?
- 3. 在陣列數組中,我如何將每個值乘以不同的乘數
- 4. 將微調值與數組值相乘
- 5. 將一個數組中的每個元素與另一個數組的每個元素相乘的方式?
- 6. 如何將每個文檔的數量乘以一個值?
- 7. 如何將int數組賦給Swift中對象數組的相應屬性?
- 8. 如何使用PHP輕鬆地將數組中的每個項目相乘?
- 9. 如何乘以Php中相似鍵的數值數組值?
- 10. 如何將每行與sas中另一個矩陣元素的每行相乘?
- 11. 將int數組中的每個值插入數據庫 - Java
- 12. 如何互相乘以未知數量的php數組值?
- 13. Swift - 兩個UITextFeild的值相乘
- 14. 如何將SparseVector與Breeze中的標量相乘?
- 15. 如何在pandas中將列的值與另一列的值相除/相乘?
- 16. 如何在html中將angularjs中的兩個值相乘
- 17. PHP:foreach中的glob與每行相乘?
- 18. 如何將鍵數組與另一個數組中的相應值組合?
- 19. 如何將JSON數組值賦給Swift 3.0中的變量?
- 20. 如何將numpy二維數組與numpy一維數組相乘?
- 21. 如何通過一次轉置將列表中的每個向量相乘?
- 22. 四元數如何與矢量相乘?
- 23. 如何將數組中的每個數字相互比較? (javascript)
- 24. 從數組bash中的每個元素減去常量值
- 25. 如何將兩個矩陣的列與所有組合相乘
- 26. 將數組中的每個數字乘以n - java
- 27. 如何將Int值傳遞給Swift中的Objective C函數?
- 28. 無法在Swift 2.1中將int類型的值賦予Int數組的元素
- 29. tableView Swift中的乘積值
- 30. 將矩陣中的每列乘以向量中的列乘以