您的位置:首页 > 其它

scala 导出及相关函数使用

2017-08-28 16:14 169 查看

前端点击调用

先前端ajax 调用后端服务,包括一些传参和url 的设置

这里有个 处理函数 each 的使用

具体例子如下:

var tables = $("#Table>thead>tr>th");
//
Table.each(function(i, item) {
if (i < 5) arry.push($(item).context.childNodes[0].textContent);
});
str = arry.join(";");


后端sql 查询

例如 sql 语句查询下列字段

class Excel(req: PciListReq)  {
override def genSql: String = {
s"""SELECT
age AS age1,
report,
name AS name1,
age AS age2,
report2,
usname AS name2,
Cost
Count
FROM teacher
WHERE ${req.geo.class} AND Year=${req.time.getYear()} AND Week=${req.time.timeSeg.week}
ORDER BY Cost ASC,MRCount DESC"""
}
}


sql 返回结果于下列:

age1reportname1age2report2name2CostCount
32516004261601325
但是导出的结果要按类似于这种格式导出

agereportnameCostCount
3251600325
4261601325
要得到这个形式 主要利用 take() 和 takeright() 函数

具体用法如下

class LineSplitting(req: List[List[String]]) {

def splite2(): List[List[String]] = {
val list1: List[List[String]] = req.map(x => (x.take(3) :: x.takeRight(2) :: Nil).flatten)
val list2: List[List[String]] = req.map(x => ( x.takeRight(5) :: Nil).flatten)
(list1 zip list2).map(x => List(x._1, x._2)).flatten
}
}

object LineSplitting {
def apply(req: List[List[String]]): LineSplitting = new LineSplitting(req)
}


把 (-1,-1) 的list 置为 空

val valueList = result.value.map(x => {
val tails = if (x.takeRight(2) == List("-1","-1")) List("","") else x.takeRight(2)
x.take(4):::tails
})


flatten 函数

flatten可以把嵌套的结构展开.

Scala> List(List(1,2),List(3,4)).flatten
res0: List[Int] = List(1, 2, 3, 4)


zip函数

zip方法将两个集合结合在一起

scala>  List('a,'b,'c).zip(List(1,2,3))
res32: List[(Symbol, Int)] = List(('a,1), ('b,2), ('c,3))


map

map方法可以将某个函数应用到集合中的每个元素并产出其结果的集合,比如

val names=List(“a”,”b”,”c”)

可以用

names.map(_.toUpperCase)

得到List(“A”,”B”,”C”)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: