Как добавить к каждому объекту в массиве значение пары ключей на основе идентификатора каждого объекта? - PullRequest
0 голосов
/ 27 апреля 2019

Как я могу добавить значение пары ключей к каждому объекту в массиве (массив является ответом на вызов ajax) на основе идентификатора объекта?

Это то, что я пробовал до сих пор, но дает мне неопределенный.

self.initialData = response.data.projectRequests.forEach(projectRequest => {
   Object.assign(projectRequest, "/view-project-team/" + projectRequest.id);
});

1 Ответ

0 голосов
/ 27 апреля 2019

Вы можете добавить пару ключ-значение неизменным способом, выполнив это:

var pr = [
  {
    id: 1,
    data: "data"
  },
  {
    id: 2,
    data: "data"
  }
]

console.log(pr);

var newPr = [];

pr.forEach(projectRequest => {
   newPr.push(Object.assign({}, projectRequest, {url: "/view-project-team/" + projectRequest.id}));
}); 

console.log(newPr);

В основном все, что вы сделали неправильно, - это использование Object.assign ().Он принимает в ширину объекта значения, которые должны быть добавлены.Вы также могли бы просто сделать это:

var pr = [
  {
    id: 1,
    data: "data"
  },
  {
    id: 2,
    data: "data"
  }
]

pr.forEach(projectRequest => {
   Object.assign(projectRequest, {url: "/view-project-team/" + projectRequest.id});
}); 

Чтобы добавить новую пару ключ-значение (в данном случае называется "url").

...