为数组中的每个元素添加一个数字[Double]

时间:2017-12-11 10:23:47

标签: scala

我有以下内容:

var x = some array Array[Double]
val n = 3

我想在x中为每个元素添加n,怎么样?我试过了:

x.map(v => v + n)

但那不起作用。

3 个答案:

答案 0 :(得分:2)

你必须使用这样的第三个var:

val x2 = x.map(_ + n)

答案 1 :(得分:1)

如果您不想构建新的Array但只想修改现有值中的值,那么:

for (i <- x.indices)
  x(i) += n

通常,Scala集合API目前不提供执行就地变异的更高级别操作,因此您必须使用这样的低级代码。 (这将在Scala 2.13中发生变化。)

答案 2 :(得分:0)

您必须将map的返回输出写入变量以获取更新的数组。