我想编写一种处理销售数据的方法,使销售按日期排序,并与条目号和销售类型相连接,如下所示:
0/2018-05-02 01:55:07/Sale type A,1/2018-09-22 02:55:07/Sale type B
但是现在我只能实现将saleDate和saleType串联在一起。如何为每个记录生成一个条目号?输入编号是指按日期排序后的销售顺序
def concatSales(sales: Seq[Sale]): Seq[String] = {
sales
.sortWith(_.saleDate < _.saleDate)
.map(sale => s"$DELIMITER${sale.saleDate}$DELIMITER${sale.saleType}")
}
答案 0 :(得分:3)
如果要为每个元素分配索引,则可以使用zipWithIndex
:
sales
.sortWith(_.saleDate < _.saleDate)
.zipWithIndex
.map {
case (sale, idx) => s"$idx: ..."
}
请注意,您可能希望使用.sortBy
而不是.sortWith
,因为它看起来更简单:
sales.sortBy(_.saleDate)