@Xpage

Как сделать переобход массива и добавление в массив еще одно значение?

Есть такой массив
coords: [
                  {
                    "date": 1606780800,
                    "value": -2.389158,
                    "line": 202012
                  },
                  {
                    "date": 1606953600,
                    "value": -1.810067,
                    "line": 202012
                  },
                  {
                    "date": 1607040000,
                    "value": -1.230976,
                    "line": 202013
                  },
                  {
                    "date": 1607126400,
                    "value": -0.651885,
                    "line": 202013
                  },
                  {
                    "date": 1607126400,
                    "value": -0.651885,
                    "line": 202013
                  }, ....

Нужно в конец каждого последнего объекта с последним названием линии, добавлять еще такой объект с value: 0
типа такого
coords: [
                  {
                    "date": 1606780800,
                    "value": -2.389158,
                    "line": 202012
                  },
                  {
                    "date": 1606953600,
                    "value": -1.810067,
                    "line": 202012
                  },
                  {
                    "date": 1606953600,
                    "value":0,
                    "line": 202012
                  },
                  {
                    "date": 1607040000,
                    "value": -1.230976,
                    "line": 202013
                  },
                  {
                    "date": 1607126400,
                    "value": -0.651885,
                    "line": 202013
                  },
                  {
                    "date": 1607126400,
                    "value": -0.651885,
                    "line": 202013
                  },                  {
                    "date": 1607126400,
                    "value": 0,
                    "line": 202013
                  }, ....

Пробовал через map, но что-то не туда видимо иду
this.chartCoords.trand1 = this.chartCoords.trand1.map(function (name) {
          return {{'Number(name.date * 1000), Number(name.value), Number(name.line)'},
          {'Number(name.date * 1000), Number(0), Number(name.line)'}}
        });
  • Вопрос задан
  • 73 просмотра
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
coords.reduce((acc, n, i, a) => (
  acc.push(n),
  (n.line !== a[i + 1]?.line) && acc.push({ ...n, value: 0 }),
  acc
), [])
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Artezio Нижний Новгород
от 130 000 до 180 000 ₽
Artezio Москва
от 160 000 до 220 000 ₽
Artezio Могилев
от 2 800 до 3 300 $
26 февр. 2021, в 21:56
20000 руб./за проект
26 февр. 2021, в 20:38
3000 руб./за проект