我有以下 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"我做错了什么?
3 回答
Cats萌萌
TA贡献1805条经验 获得超9个赞
您发布的代码仅定义了国家/地区列表的类型。您还需要将其初始化为空数组,然后才能推送到它 - 见下文。
countryList: { countryCode: string;countryName :string }[] = [];
芜湖不芜
TA贡献1796条经验 获得超7个赞
您可以从对象获取,然后从对象数组中获取:entriesmap
Object.entries(countries).map(([key, value]) => ({
countryCode: key,
countryName: value
}))
白衣染霜花
TA贡献1796条经验 获得超10个赞
您需要将国家/地区列表声明为列表。
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)
添加回答
举报
0/150
提交
取消