无法在 Angular 中填充 JSON 对象中的数组

我有以下 JSON 对象:


Object { JP: "JAPAN", PAK: "PAKISTAN", IND: "INDIA", AUS: "AUSTRALIA" }

此 JSON 是从 get 返回的响应数据。call(HttpClient Angular)


所以现在,我需要将其填充到以下内容中以显示为下拉列表。


countryList: { countryCode: string; countryName :string }[];


我尝试执行以下操作:


for (const key in resData) {

  if (resData.hasOwnProperty(key)) {

     var obj ={

       countryCode :key,

       countryName : resData[key]

      }

    this.countryList.push(obj);

  }

}

但是当我执行时,我得到这个错误


"_this.countryList.push is not a function"

我做错了什么?


茅侃侃
浏览 93回答 3
3回答

Cats萌萌

您发布的代码仅定义了国家/地区列表的类型。您还需要将其初始化为空数组,然后才能推送到它 - 见下文。countryList: { countryCode: string;countryName :string }[] = [];

芜湖不芜

您可以从对象获取,然后从对象数组中获取:entriesmapObject.entries(countries).map(([key, value]) => ({     countryCode: key,     countryName: value}))

白衣染霜花

您需要将国家/地区列表声明为列表。var resData={ JP: "JAPAN", PAK: "PAKISTAN", IND: "INDIA", AUS: "AUSTRALIA" };countryList=[];for (const key in resData) {  if (resData.hasOwnProperty(key)) {     var obj ={       countryCode :key,       countryName : resData[key]      }    countryList.push(obj);  }}console.log(countryList)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript