TypeError: невозможно прочитать свойство forEach из undefined, javascript - PullRequest
0 голосов
/ 18 июня 2020

пытается go через словарь и получить значения и получить каждое из значений массива в нем, чтобы манипулировать ими, но получаю эту ошибку, сначала я подумал, что это может быть потому, что я забыл точку с запятой в строке, которая определяет dict, но ошибка остается.



 getPieChartSeries(logsList){
   let devidedLogs = this.divideLogsByExitCode(logsList);
   console.log(devidedLogs);
   let pieChartSeries = [];
   Object.values(devidedLogs).array.forEach(element => {
     pieChartSeries.push(this.getPrecentageOfLogType(element,logsList))
   });
   console.log(pieChartSeries)
 }

 getPrecentageOfLogType(logsList,logsOfTypeList){
   let numOflogs = logsList.length
   let numOflogsOfType = logsOfTypeList.length
   let precentageOfLogType = Math.round((numOflogsOfType  / numOflogs ) * 100)

   return precentageOfLogType
 }
 getCurrentTime(){
   var d = new Date();
   return d.toLocaleString()
 }

dividedLogs is



{failedFaults: Array(0), failedProbesLogs: Array(1), failedRollbackLogs: Array(0), rollbackedLogs: Array(0), selfHealedLogs: Array(3)}failedFaults: []failedProbesLogs: [{…}]failedRollbackLogs: []rollbackedLogs: []selfHealedLogs: (3) [{…}, {…}, {…}]__proto__: Object

Ответы [ 2 ]

3 голосов
/ 18 июня 2020

Я думаю, вы повторяете неправильную переменную.

Уже .values ​​() возвращает массив, вам не нужно снова добавлять .array после этого.

Итак, ваш код должен быть обновлен до следующих строк:

getPieChartSeries(logsList){
 let devidedLogs = this.divideLogsByExitCode(logsList);
 console.log(devidedLogs);
 let pieChartSeries = [];
 Object.values(devidedLogs).forEach(element => {
 pieChartSeries.push(this.getPrecentageOfLogType(element,logsList))
 });
 console.log(pieChartSeries)
}
0 голосов
/ 18 июня 2020

Object.values(devidedLogs) вернет массив всех значений объекта, эквивалентно, вы можете использовать Object.keys(devidedLogs) для получения ключей или Object.entries(devidedLogs) для массива кортежей ключ-значение.

Также проверьте документы класса Object :)

...