Как создать новый массив, содержащий данные из другого массива в реагировать родной? - PullRequest
0 голосов
/ 10 сентября 2018

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

мой массив - 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'}
]

Ответы [ 3 ]

0 голосов
/ 10 сентября 2018

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

createCustomArray() {
   this.state.data1.forEach(function (item) {
      this.state.data2.push({'x': item.x+'-('+item.y+')-'+item.z});
   });
}
0 голосов
/ 10 сентября 2018

  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 голосов
/ 10 сентября 2018

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

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