Добавление новых значений в массив - PullRequest
0 голосов
/ 17 июня 2020

Я хочу добавить новые значения в свой массив в javascript. Массив такой:

[
  0: { Id: 0,
       Name: "First",
       Time: "2020-06-08T11:12:03.003" },
  1: { Id: 1,
       Name: "Second",
       Time: "2020-06-08T11:12:03.003" }
]

Это простой массив, мой массив больше и больше значений. Я хочу добавить такие новые значения:

[
  0: { Id: 0,
       Name: "First",
       Time: "2020-06-08T11:12:03.003",
       SecondTime: "2020-06-08T11:12:03.003" },
  1: { Id: 1,
       Name: "Second",
       Time: "2020-06-08T11:12:03.003",
       SecondTime: "2020-06-08T11:12:03.003"  }
]

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

Ответы [ 3 ]

2 голосов
/ 17 июня 2020

используя foreach

const data = [
   { Id: 0,
       Name: "First",
       Time: "2020-06-08T11:12:03.003" },
{ Id: 1,
       Name: "Second",
       Time: "2020-06-08T11:12:03.003" }
]

data.forEach(i=> i.SecondTime = i.Time);

console.log(data)

Использование reduce:

const data = [
   { Id: 0,
       Name: "First",
       Time: "2020-06-08T11:12:03.003" },
{ Id: 1,
       Name: "Second",
       Time: "2020-06-08T11:12:03.003" }
]

var res = data.reduce((acc, elem)=>{
 elem.Secondtime = elem.Time;
 return acc = [...acc, elem];
},[]);

console.log(res)
1 голос
/ 17 июня 2020

let blah = {
  0: { Id: 0,
       Name: "First",
       Time: "2020-06-08T11:12:03.003"},
  1: { Id: 1,
       Name: "Second",
       Time: "2020-06-08T11:12:03.003"  }
};

Object.keys(blah).forEach((ele)=>{
  blah[ele].SecondTime = "2020-06-08T11:12:03.003"
});

console.log(blah);

Надеюсь, это поможет

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

Вместо foreach и сокращения ответов вы можете использовать map . Если вы видите здесь , для изменения данных карта имеет немного лучшую производительность по сравнению с циклами foreach или снижает функции.

Следует за полным рабочим примером:

const originalArray = [
  { 0: { Id: 0,
       Name: "First",
       Time: "2020-06-08T11:12:03.003" }},
  { 1: { Id: 1,
       Name: "Second",
       Time: "2020-06-08T11:12:03.003" }}
]

const transformedArray = originalArray.map((element, index) => {
  element[index].SecondTime = new Date();
  return element;
});

console.log(transformedArray);
...