Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 如何用swift 4中的另一个[Float]减去[[Float]]?_Arrays_Swift - Fatal编程技术网

Arrays 如何用swift 4中的另一个[Float]减去[[Float]]?

Arrays 如何用swift 4中的另一个[Float]减去[[Float]]?,arrays,swift,Arrays,Swift,我想减去两个浮点数组 let array1 = [[0,5.2000003,0.44705883,0,0,0,1.882353,0,0.49411765,0,0,0,0,0,2.447059,1.5294118,0,0,0,4.5176473],[0,5.2000003,0.44705883,0,0,0,1.882353,0,0.49411765,0,0,0,0,0,2.447059,1.5294118,0,0,0,4.5176473],[0,5.2000003,0.44705883,0,0,0

我想减去两个浮点数组

let array1 = [[0,5.2000003,0.44705883,0,0,0,1.882353,0,0.49411765,0,0,0,0,0,2.447059,1.5294118,0,0,0,4.5176473],[0,5.2000003,0.44705883,0,0,0,1.882353,0,0.49411765,0,0,0,0,0,2.447059,1.5294118,0,0,0,4.5176473],[0,5.2000003,0.44705883,0,0,0,1.882353,0,0.49411765,0,0,0,0,0,2.447059,1.5294118,0,0,0,4.5176473]]
let array2 = [0.23529412, 1.7411765, 0.23529412, 0.0, 0.28235295, 0.0, 0.0, 0.5882353, 0.87058824, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.1529412]

我想要的输出是array2,应该从array1的所有元素中减去。有没有办法避免forloop

 Output expected : [[-0.23529412, 3.4588237, 0.21176471, 0.0, -0.28235295, 0.0, 1.882353, -0.5882353, -0.3764706, 0.0, 0.0, 0.0, 0.0, 0.0, 2.447059, 1.5294118, 0.0, 0.0, 0.0, 1.364706], [-0.23529412, 3.4588237, 0.21176471, 0.0, -0.28235295, 0.0, 1.882353, -0.5882353, -0.3764706, 0.0, 0.0, 0.0, 0.0, 0.0, 2.447059, 1.5294118, 0.0, 0.0, 0.0, 1.364706], [-0.23529412, 3.4588237, 0.21176471, 0.0, -0.28235295, 0.0, 1.882353, -0.5882353, -0.3764706, 0.0, 0.0, 0.0, 0.0, 0.0, 2.447059, 1.5294118, 0.0, 0.0, 0.0, 1.364706]]
在array1和array2上使用zip:uu1:和map:,即

编辑:

如果阵列1和阵列2的类型为[[Float]]和[Float]


展示你的代码谢谢你这么快的回复。很好,兄弟。如果答案有帮助,一定要接受。快乐的编码..如果我想从[Float]中减去[Float],该怎么办?这怎么可能?@ZubinGala给出了一个预期输出的例子。我想要的预期输出是array2,应该从array1的所有元素中减去。
let array3 = zip(array1, array2).map({ $0.0 - $0.1 })

print(array3) //[-0.23529412, 3.4588238000000002, 0.21176471000000002, 0.0, -0.28235295, 0.0, 1.882353, -0.5882353, -0.37647059, 0.0, 0.0, 0.0, 0.0, 0.0, 2.447059, 1.5294118, 0.0, 0.0, 0.0, 1.3647061000000003]
let array1 = [[0,5.2000003,0.44705883,0,0,0,1.882353,0,0.49411765,0,0,0,0,0,2.447059,1.5294118,0,0,0,4.5176473],[0,5.2000003,0.44705883,0,0,0,1.882353,0,0.49411765,0,0,0,0,0,2.447059,1.5294118,0,0,0,4.5176473],[0,5.2000003,0.44705883,0,0,0,1.882353,0,0.49411765,0,0,0,0,0,2.447059,1.5294118,0,0,0,4.5176473]]
let array2 = [0.23529412, 1.7411765, 0.23529412, 0.0, 0.28235295, 0.0, 0.0, 0.5882353, 0.87058824, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.1529412]

let output = array1.map({ return zip($0, array2).map({ $0.0 - $0.1 }) }) //[[-0.23529412, 3.4588238000000002, 0.21176471000000002, 0.0, -0.28235295, 0.0, 1.882353, -0.5882353, -0.37647059, 0.0, 0.0, 0.0, 0.0, 0.0, 2.447059, 1.5294118, 0.0, 0.0, 0.0, 1.3647061000000003], [-0.23529412, 3.4588238000000002, 0.21176471000000002, 0.0, -0.28235295, 0.0, 1.882353, -0.5882353, -0.37647059, 0.0, 0.0, 0.0, 0.0, 0.0, 2.447059, 1.5294118, 0.0, 0.0, 0.0, 1.3647061000000003], [-0.23529412, 3.4588238000000002, 0.21176471000000002, 0.0, -0.28235295, 0.0, 1.882353, -0.5882353, -0.37647059, 0.0, 0.0, 0.0, 0.0, 0.0, 2.447059, 1.5294118, 0.0, 0.0, 0.0, 1.3647061000000003]]