Angular: как вставлять метки из нескольких объектов, содержащих массив тоже?

#javascript #angular

#javascript #angular

Вопрос:

Я пытаюсь получить одно значение из нескольких объектов, вот его результат введите описание изображения здесь

Вот мой код:

  this.ExportprintData = [];
      var chartLabels = this.chartLabelsAll;
      // this.ExportprintData.push(" ");
      for (var i = 0; i < this.chartLabelsAll; i  ) {
        chartLabels.push({ 'Labels': this.chartLabelsAll[i] });
      }
      this.ExportprintData[0] = chartLabels;
      if (this.chartLabelsAll[0] != "") {
        this.ExportprintData[0].unshift("");
        this.chartLabelsAll.splice(0, 1);
      }

     
       this.exportExceldata = this.AVEChartDataAVE; console.log(this.AVEChartDataAll);  

ожидаемый результат
Но мне нужно напечатать массив меток только таким образом

введите описание изображения здесь

Комментарии:

1. Каков ваш ожидаемый результат?

2. @MichaelD второе изображение — это то, что я ожидаю напечатать

Ответ №1:

Функция Array map может сделать это за вас.

Как показано ниже:

 var jsonArray = [
  {label: 'Label 1', data: ['1']},
  {label: 'Label 2', data: ['1']},
  {label: 'Label 3', data: ['1']},
  {label: 'Label 4', data: ['1']},
  {label: 'Label 5', data: ['1']}
];

var tempArray = jsonArray.map((item) => item.label);
console.log(tempArray);  

Это должно выполнить вашу работу

Ответ №2:

Вы могли бы использовать метод Array map для генерации массива строк из массива объектов.

 let chartLabels = this.chartLabelsAll.map(info => info.label);