Свойство не существует для типа 'string' - итерация во вложенных объектах Json - PullRequest
0 голосов
/ 30 января 2019

Мне нужно перебрать эти вложенные объекты и сохранить внешний ключ объекта и значения внутреннего вложенного объекта в массивах, чтобы я мог их отобразить на гистограмме группы chart.js.

let goodArray = [];
let notgoodArray = [];
let fruitsArray =[];

const obj = {
 "oranges": {
    "good": 1,
    "not_good": 0
 },
 "apples": {
     "good": 1,
     "not_good": 0
 },
 "grapes": {
     "good": 2,
     "not_good": 0
 }
}

Я нашелспособ хранения значения ключа внешнего объекта, например,

for (var key in this.obj) {
  fruitArray.push(key);
}

, который возвращает массив фруктов, подобный этому

['oranges', 'apples', 'grapes']

Но я не могу получить доступ к свойствам объекта Fruit и добавить в негоцикл что-то вроде

for (var key in this.obj) {
  goodArray.push(key.good);
  notgoodArray.push(key.not_good);
  fruitArray.push(keyname);
}

Это возвращает мне ошибку, говорящую

"Property 'good' does not exist on type 'string'"

Мне нужен массив, чтобы 'good' был похож на

[1,1,2]

и«not_good» быть похожим на

[0,0,0]

1 Ответ

0 голосов
/ 30 января 2019

Вам необходимо получить доступ к объекту:

for (var key in this.obj) {
  goodArray.push(this.obj[key].good);
  notgoodArray.push(this.obj[key].not_good);
  fruitArray.push(key);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...