Skip to content
Advertisement

2-dimensional array to object (JavaScript)

I have an array, that holds a large number of two-dimensional arrays:

var myArray = [
    [2260146,2334221,"copy"],
    [1226218,2334231,"copy"],
    [2230932,-1,"copy"],
    [2230933,-1,"copy"],
    [2230934,-1,"copy"]
]

I need to convert this array into an object of the following form to send it as JSON:

var json = [
  {
    "s_id": 2260146,
    "t_id": 2334221,
    "type": "copy"
  },
  {
    "s_id": 1226218,
    "t_id": 2334231,
    "type": "copy"
  },
  {
    "s_id": 12,
    "t_id": -1,
    "type": "copy"
  }
]

(“s_id” should be myArray[0][0], “t_id myArray[0][1], and “type” myArray[0][2] and so on.)

How can I get the array in the desired form? Thanks in advance.

Advertisement

Answer

json = myArray.map(function(x) {
    return {    
        "s_id": x[0],
        "t_id": x[1],
        "type": x[2]
    }
})

Be aware that map is not supported in IEs < 9.

User contributions licensed under: CC BY-SA
2 People found this is helpful
Advertisement