Сгладить массив внутри массива

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

У меня есть следующий код:

          const geoListData: Array<any> = [];
          const features = geoData.features; // feature array
          const latIdx = 0;
          const lonIdx = 1;

          // iterate over each feature
          features.forEach((feature: any) => {
            const geoListArray: any = [];

            // build up GeoListEntry
            const geoListEntry: GeoListEntry = {
              name: feature.properties.name,
              category: feature.properties.category,
              lat: feature.geometry.coordinates[latIdx],
              lon: feature.geometry.coordinates[lonIdx],
              prio: feature.properties.prio
            };

            geoListArray.push(geoListEntry);

            // get values from geojson
            feature.properties.values.forEach((element: any) => {
              const valuesEntry: any = {
                [element.name]: element.value
              };
              geoListArray.push(valuesEntry);
            });

            this.logger.debug(`geoListArray: ${JSON.stringify(geoListArray)}`);

            geoListData.push(geoListArray);
          });

      return geoListData;
    }));

Мой вывод регистратора выглядит так:

[{"name":"90","category":"Arc 12 month","lat":7.613333333,"lon":47.555555,"prio":0},{"bearing":12345},{"intensity_mean":0},{"intensity_min":0},{"intensity_max":0}]

Но я хочу что-то вроде этого:

[{"name":"90","category":"Arc 12 month","lat":7.613333333,"lon":47.555555,"prio":0,"bearing":12345,"intensity_mean":0,"intensity_min":0,"intensity_max":0}]

Я близок, но я не могу найти решение.

Есть ли у вас какие-либо идеи?

Это не массив внутри массива — это ряд объектов внутри массива. И вы хотите объединить их в один объект внутри массива.

VLAZ 07.06.2019 13:49

Можете ли вы опубликовать свои исходные данные?

Avin Kavish 07.06.2019 13:51

После уточнения @VLAZ вы должны редактировать задать вопрос и сделать его более ясным, указать, что вы действительно хотите, поскольку желаемый результат не соответствует описанию того, что вы хотите.

lealceldeiro 07.06.2019 13:51
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
3
71
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вместо того, чтобы отправлять его в array, добавьте свойство непосредственно в object

// iterate over each feature
features.forEach((feature: any) => {
  const geoListArray: any = [];

  // build up GeoListEntry
  const geoListEntry: GeoListEntry = {
    name: feature.properties.name,
    category: feature.properties.category,
    lat: feature.geometry.coordinates[latIdx],
    lon: feature.geometry.coordinates[lonIdx],
    prio: feature.properties.prio
  };

  // get values from geojson
  feature.properties.values.forEach((element: any) => {
    geoListEntry[element.name] = element.value
  });

  geoListArray.push(geoListEntry);

  this.logger.debug(`geoListArray: ${JSON.stringify(geoListArray)}`);

  geoListData.push(geoListArray);
});

Другие вопросы по теме