Объединить два JSON данных в один с определенными ключевыми значениями - PullRequest
0 голосов
/ 16 июня 2020

У меня есть два CSV-файла:

balldata. json

    [
      {
        "id": "1",
        "color": "red",

      },
      {
        "id": "2",
        "color": "blue",
      }]

суд. json:

    [
      {
        "court_id": 2001,
        "ball_in_use": "1",
      },
      {
        "court_id": 2005,
        "ball_in_use": "2",
      }]

Как сопоставить цвет мяча на основе идентификатора площадки? Например: 2001 -> красный, 2005 -> синий

Я пробовал подход ниже

    const App = (props) =>{
        let color = balldata.map((c, index) => {
          return c.id + "-" + c.color;})
        let game = courtdata.map((ball, index) => {
          return ball.ball_in_use;})
        return(
          //not sure what to return here since I am unable to use {color} or {game}
    )}

1 Ответ

1 голос
/ 16 июня 2020

Вы можете сделать это, как показано ниже

const result = [courtdata, balldata].reduce((p, q) => p.map((c, i) => Object.assign({}, c, {color: q[i].color})));

// Result

[ 
 {court_id: 2001, ball_in_use: "1", color: "red"},
 {court_id: 2005, ball_in_use: "2", color: "blue"}
]

иначе используйте ниже

const result = [courtdata, balldata].reduce((p, q) => p.map((c, i) => Object.assign({}, {[c.court_id] : q[i].color})))

//Result

[
 {2001: "red"}, 
 {2005: "blue"}
]

Рабочий пример https://codesandbox.io/s/react-example-b7bfm

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...