¿Cómo creo una nueva matriz a partir de otra matriz?

Mi matriz es data1

this.state = {
    data1: [
        {'x':'%20', 'y':11, 'z':'sunday'},
        {'x':'%30', 'y':21, 'z':'monday'},
        {'x':'%40', 'y':31, 'z':'tuesday'}          
    ],
    data2: [],
}

Y quiero crear datos2, que se ve así

data2: [
    {'x':'%20-(11)-sunday'},
    {'x':'%30-(21)-monday'},
    {'x':'%40-(31)-tuesday'}
]
0
OzgrMan 10 sep. 2018 a las 10:24

3 respuestas

La mejor respuesta
  data1=  [
   {'x':'%20', 'y':11, 'z':'sunday'},
   {'x':'%30', 'y':21, 'z':'monday'},
   {'x':'%40', 'y':31, 'z':'tuesday'}          
  ]
    
  data2 = data1.map((item)=> ({x: Object.values(item).join('-')}))
  console.log("data2", data2)
0
Mohammed Ashfaq 10 sep. 2018 a las 08:29

Puede usar la siguiente función para convertir la matriz data1 en la matriz data2:

createCustomArray() {
   this.state.data1.forEach(function (item) {
      this.state.data2.push({'x': item.x+'-('+item.y+')-'+item.z});
   });
}
0
Sandy..... 10 sep. 2018 a las 08:05

Eche un vistazo a array.map .

const data2 = data1.map(value => ({ x: `${value.x}-(${value.y})-${value.z}` }))
1
parohy 10 sep. 2018 a las 07:36