Grouping elements of array on the basis of property

I have a array as follows:

data = [
{
  "id":1
  "name":"london"
},
{
  "id":2
  "name":"paris"
},
{
  "id":3
  "name":"london"
},
{
  "id":4
  "name":"paris"
},
{
  "id":5
  "name":"australia"
},
{
  "id":6
  "name":"newzearland"
}
]

At runtime this array can have n number of elements. I want to group this array with respect to name attribute. All the elements with same name should be moved to a separate array. I don’t know the what value can name have in advance. This is coming at runtime. For example, from above array I want final output as follows:

output:

newArray1 = [
 {
  "id":1
  "name":"london"
},
{
  "id":3
  "name":"london"
}
]

newArray2 = [
{
  "id":2
  "name":"paris"
},
{
  "id":4
  "name":"paris"
}
]

newArray3 = [
{
  "id":5
  "name":"australia"
}
]

newArray4 = [
{
  "id":6
  "name":"newzearland"
}
]

How can I do that?