如何创建一个新元素,其元素是idx
的{{1}}个元素?
a2z
想
val a2z = ('a' to 'z').toVector // actually an arbitrary Vector of objects
// 'a' to 'z' only for illustration
val idx = Vector( 3, 9, 22, 24 )
我可以使用简单的for循环,附加结果,但更喜欢用惯用语来做。
答案 0 :(得分:3)
只需map
指数:
idx.map(i => a2z(i))
并在传递给map
的函数中,通过每个索引从Vector
获取元素。
这适用于所有馆藏(不限于Vector
)。
由于参数i
仅使用一次,因此可以简化为:
idx.map(a2z(_))
并且Vector.apply
只有一个参数,这可以写成(如@Paul在评论中指出的那样):
idx map a2z