Как я могу создать массив в определенном порядке, как показано ниже? - PullRequest
2 голосов
/ 18 июня 2020

Массив в следующем порядке:

Array is in this order

Я хочу создать новый массив как:

Want new array in this order

Ответы [ 3 ]

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

Вы можете применить к своим данным функцию map () , чтобы получить желаемый результат, как вы разместили выше. Согласно вопросу, возможное решение будет следующим:

const data = [{
    "date": "2020-01-01",
    "point": {
      "a": "1",
      "b": "2"
    }
  },
  {
    "date": "2020-02-01",
    "point": {
      "a": "3",
      "b": "4"
    }
  },
  {
    "date": "2020-03-01",
    "point": {
      "a": "5",
      "b": "6"
    }
  },
  {
    "date": "2020-04-01",
    "point": {
      "a": "7",
      "b": "8"
    }
  }
];
const res = data.map((_, index) => {
  return {
    series: {
      data: data.slice(0, index + 1).map(i => [Number(i.point.a), Number(i.point.b)])
    }
  }
});
console.log(res);
1 голос
/ 18 июня 2020

Я думаю, вы получите то, что хотите:

const orig = [
            {
                "date": "2020-01-01",
                "point": {
                    "a": "1",
                    "b": "2"
                }
            },
            {
                "date": "2020-02-01",
                "point": {
                    "a": "3",
                    "b": "4"
                }
            },
            {
                "date": "2020-03-01",
                "point": {
                    "a": "5",
                    "b": "6"
                }
            },
            {
                "date": "2020-04-01",
                "point": {
                    "a": "7",
                    "b": "8"
                }
            }
        ];

        // Make the new array.
        const points = [];
        const newArray = orig.map( x => {

            points.push([x.point.a, x.point.b]);
            return {
                "series": {
                    "data": points.slice(0)
                }
            }

        });

        // Log the new array.
        console.log(newArray);
1 голос
/ 18 июня 2020

Вы можете попробовать что-то вроде этого:

resultArray = yourarray.map(function(data){
    return {
        series:{
            "data":[data.points.a,data.points.b]
        }
    }
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...