машинопись / angular: невозможно перебрать карту, проанализированную с json - PullRequest
0 голосов
/ 18 марта 2020

Я новичок как в машинописи, так и в angular (от довольно solid Java / kotlin фона). Написал класс:

export interface GeoData {
    allregions: Map<string, string>;
}

для анализа этого json:

{"allregions":{"whatever":"WHT","a region":"ARE","something":"SMT"}

json правильно читается из файла с использованием HttpClient.get(), и я вижу правильное содержимое в переменной с помощью отладки. также этот код:

console.log(data.allregions["whatever"])

правильно печатает WHT.

к сожалению, это:

data.allregions.forEach((value: string, key: string) => {
        console.log(key, value);
    });

броски data.allregions.forEach is not a function

также это:

console.log(data.allregions.size)

печать undefined

и это:

console.log(data.allregions.entries.lenght)

броски data.allregions.entries is undefined

что здесь происходит?

1 Ответ

1 голос
/ 18 марта 2020

Я вижу, вы подаете заявку на каждый объект. Объедините Object.keys () и forEach ()

var data = {"allregions":{"whatever":"WHT","a region":"ARE","something":"SMT"}}
Object.keys(data.allregions).forEach(function(key) {
  console.log(`key: ${key}, value:${data.allregions[key]}`);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...