说,我有一个数组[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. 将矩阵中的每列乘以向量中的列乘以