Управление массивом JSON объектов - PullRequest
0 голосов
/ 26 мая 2020

Короче говоря, у меня есть массив JSON объектов без ключей. Я пытаюсь пропустить sh каждый объект через HTML, однако у меня есть повторяющиеся данные, которые я хотел бы объединить. Я получаю этот массив с помощью вызова AJAX, но не уверен, следует ли мне реализовать что-то во время вызова или после него.

Мои данные выглядят так:

myData =[{Title:'Test', Dates:'11/12/14-/n11/14/14', Code:'A1B2C3'},
         {Title:'Test', Dates:'10/12/14-/n10/14/14', Code:'D1E2F3'},
         {Title:'Test', Dates:'11/12/14-/n11/14/14', Code:'D1E2F3'},
         {Title:'Test2', Dates:'01/12/14-/n01/14/14', Code:'H1J2K3'}]

The AJAX выглядит так:

$.ajax({
    url: ckURL,
    async: false,
    dataType: 'json',
    success: function(data) {
        myData= data;
    }
});

Мне бы хотелось, чтобы myData выглядела так:

myData =[Test:{Dates:['11/12/14-/n11/14/14','10/12/14-/n10/14/14'], Code:['A1B2C3','D1E2F3']},
         Test2:{Dates:'01/12/14-/n01/14/14', Code:'H1J2K3'}]

Или вот так:

myData =[{Title:'Test', Dates:['11/12/14-/n11/14/14','10/12/14-/n10/14/14'], Code:['A1B2C3','D1E2F3']},
         {Title:'Test2', Dates:'01/12/14-/n01/14/14', Code:'H1J2K3'}]

Если у вас есть идея о том, как go об этом, мы будем очень признательны. Спасибо, что дочитали до этого места.

1 Ответ

0 голосов
/ 26 мая 2020

Привет и добро пожаловать на борт!

Карта и reduce - ваши друзья.

Вот пример того, как добраться первая опубликованная вами структура:

myData.reduce((data, item) => {
  const d = data[item.Title];
  if (d) {
    d.Dates.push(item.Dates);
    d.Code.push(item.Code);
  } else {
    data[item.Title] = {
      Dates: [item.Dates],
      Code: [item.Code]
    };
  }
  return data;
}, {}); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...