3

可以fold在这里使用 a 从 a 转换List[JsObject]JsArray吗?

    def getJsonArray(list: List[JsObject]): JsArray = {
        def go(l: List[JsObject], acc: JsArray) : JsArray = l match {
            case x :: xs => go(xs, acc ++ Json.arr(x))
            case Nil => acc
        }
        go(list, JsArray())
    }
4

1 回答 1

6

是的,这应该大致等价:

  def getJsonArray(list: List[JsObject]): JsArray = {
    list.foldLeft(JsArray())((acc, x) => acc ++ Json.arr(x))
  }
于 2013-10-16T19:56:09.237 回答