问题
I am a new bee in typescript , In my angular4 project I am receiving a map object as a json.
so I declared a class that is given bellow
<importing... required classes here..>
export class FormConfig {
public id: number;
public name: string;
public fieldMap :Map<string,Array<Field>>;
public fieldList : Array<Field> ;
}
I am receiving exactly same JSON from api. I consoled the object of FormConfig and I am getting the console without any error. My code got compiled without any warning and error. But I can't access the keys and values from the map by using Map's inbuilt functions like forEach,keys,get etc. But IDE showing these function suggestions. Part of my code is given bellow.
formConfig : FormConfig;
console.log(JSON.stringify(formConfig)); // works fine
keys : string [] = Array.from (formConfig.keys()) ; // showing error (formConfig.keys is not a function)
I am using es5 target for my angular4 project and the IDE is visual studio code.
Is anybody faced this issue before let me know the mistake I have made here.
Thank you.
回答1:
You can get the values using key like this:
for (const key in formConfig) {
console.log('The value for ' + key + ' is = ' + formConfig[key]);
}
And getting array of the Object's key values is done like this:
keys: string [] = Object.keys(formConfig);
来源:https://stackoverflow.com/questions/45235007/typescript-map-throwing-error-while-using-its-functions-mapobject-keys-is-not