Как объединить два элемента в массив Vue. js - PullRequest
0 голосов
/ 30 марта 2020

Я просто застрял здесь ....

У меня есть список из моей базы данных, в котором может быть тот же Id_Plane, но разные DateCreated, Starts, Ends ...

Как мне вычислить 2 элемента с одинаковым идентификатором для 1 элемента с 2 DateCreated, Starts, Ends

Спасибо

Вот мои данные, например

Example data here

Ответы [ 2 ]

0 голосов
/ 30 марта 2020

Приведенный ниже код даст вам массив с уникальным 'Id_plane', сохранив данные первого объекта.

let data = [
            {
                DateCreated: "2020-10-10",
                Ends: 15.5,
                Id_plane: 1,
                Id_sale: 4,
                Id_scheduler: 6,
                Starts: 7,
                __isset_bitfield: 31
            },
            {
                DateCreated: "2020-10-11",
                Ends: 17,
                Id_plane: 1,
                Id_sale: 4,
                Id_scheduler: 6,
                Starts: 7,
                __isset_bitfield: 31
            },
            {
                DateCreated: "2020-10-12",
                Ends: 17,
                Id_plane: 2,
                Id_sale: 4,
                Id_scheduler: 6,
                Starts: 4.2,
                __isset_bitfield: 40
            },
            {
                DateCreated: "2020-10-11",
                Ends: 17,
                Id_plane: 2,
                Id_sale: 4,
                Id_scheduler: 6,
                Starts: 7,
                __isset_bitfield: 31
            },
        ];
        data.map((item, index) => {
            let matchingItems = data.filter(el => el.Id_plane === item.Id_plane);
            matchingItems.map(matchingItem => {
                let key = data.indexOf(matchingItem)
                if (key !== index) {
                    data.splice(key, 1);
                }
            });
        });
        console.log(data);
0 голосов
/ 30 марта 2020

Из того, что я понял, вы хотите вернуть новый список на основе id_plane.

let list = [
	{
  	id_plane: 1,
    date_created: "2020-10-10"
  },
  {
  	id_plane: 1,
    date_created: "2020-10-11"
  },
  {
  	id_plane: 4,
    date_created: "2020-10-12"
  },
  {
  	id_plane: 10,
    date_created: "2020-10-13"
  },
  {
  	id_plane: 1,
    date_created: "2020-10-14"
  },
  {
  	id_plane: 4,
    date_created: "2020-10-15"
  }
];

var ids = list.map(e => e.id_plane).filter((x, i, a) => a.indexOf(x) == i);
var arr = {};

ids.forEach(i => {
	arr[i] = list.filter(e => {
  	return e.id_plane === i;
  });
});

console.log(arr);
...