Добавить список в другой список - PullRequest
0 голосов
/ 10 июля 2020

Это мой первый массив.

 data = [
  {
    "id": 8651,
    "value": "Abdominal pain"
  },
  {
    "id": 8646,
    "value": "Chest pain"
  },
  {
    "id": 8642,
    "value": "Cough"
  }
]

Это мой второй массив.

{
  "symptoms": [
    "N",
    "N",
    "Y"
  ]
}

Эти два массива необходимо объединить, чтобы получить это.

[
  {
    "id": 8651,
    "value": "Abdominal pain",
    "result": "N"
  },
  {
    "id": 8646,
    "value": "Chest pain",
    "result": "N"
  },
  {
    "id": 8642,
    "value": "Cough",
    "result": "Y"
  }
]

Как я могу этого добиться. попробовал с reduce и concat, я не получил желаемого результата

Ответы [ 3 ]

2 голосов
/ 10 июля 2020

вы можете сделать это с помощью функции map:

var data = [
  {
    "id": 8651,
    "value": "Abdominal pain"
  },
  {
    "id": 8646,
    "value": "Chest pain"
  },
  {
    "id": 8642,
    "value": "Cough"
  }
]

var symptoms = {
  "symptoms": [
    "N",
    "N",
    "Y"
  ]
}

const mapFunction = (dataItem, index) => ({...dataItem, "result": symptoms.symptoms[index]});
const mappedResult = data.map(mapFunction)

console.log(mappedResult)
0 голосов
/ 10 июля 2020

Для этого вы можете использовать оператор map ..

import { map } from 'rxjs/operators';
    
let newArr = [];

data.map((item, index) => {
  newArr.push(data[index]);
  newArr[index]['result'] = symptoms[index];
});
0 голосов
/ 10 июля 2020

Это должно вам помочь.

for(let i = 0; i<this.data.length; i++) {
    this.data[i]["result"] = this.symptoms.symptoms[i];
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...