shambalaxx
9/4/2016 - 7:58 PM

reordering.sc

def array(s: String) = s.split(",").map(_.trim)

val columns = array("id,name,phoneNumber")

val usersColumns = Array("name", "id")

val reordering = {
  val columnsIndexes = columns.zipWithIndex.toMap
  for (column <- usersColumns) yield columnsIndexes(column)
}

def reorder(values: Array[String]): Array[String] =
  for (index <- reordering) yield values(index)


val values = array("1,John Smith,1-800-99996677")

values mkString ", "

usersColumns mkString ", "
reorder(values) mkString ", "