Как создать новый массив, содержащий данные из другого массива в реакции native?

0 OzgrMan [2018-09-10 10:24:00]

Как создать новый массив из другого массива

мой массив - data1

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

и я хочу создать data2, которые выглядят так

data2: [
    {'x':'%20-(11)-sunday'},
    {'x':'%30-(21)-monday'},
    {'x':'%40-(31)-tuesday'}
]

arrays loops react-native


3 ответа


0 Решение Mohammed Ashfaq [2018-09-10 11:29:00]

  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)

1 parohy [2018-09-10 10:36:00]

Посмотрите на array.map.

const data2 = data1.map(value => ({ x: '${value.x}-(${value.y})-${value.z}' }))

0 Sandy [2018-09-10 11:05:00]

Вы можете использовать функцию ниже для преобразования массива data1 в массив data2:

createCustomArray() {
   this.state.data1.forEach(function (item) {
      this.state.data2.push({'x': item.x+'-('+item.y+')-'+item.z});
   });
}