我正在编写角度应用程序,并且在将API对象数据存储到字符串数组中时遇到问题。
JSON格式:
{
"data1":{
"data11":"data11d",
"statename":"West Bengal"
},
"data2":{
"data21":"data21d",
"statename":"Assam"
}
}
我正在通过索引使用'.values',以通过代码提取出第一个键数据1的内部statename值,并使用代码将其存储在一个字符串数组中,以索引0表示
this.myObj=Object.values(this.apiJson)[0]; //Obj data is coming which is debugged and checked
this.myStringArray[0]=this.myObj["statename"];
但是该值未进入数组,但是当我使用另一种声明字符串数组的方法时,它会起作用
this.myObj=Object.values(this.apiJson)[0]; //Obj data is coming which is debugged and checked
this.myStringArray=[this.myObj["statename"]];
输出应该是西孟加拉语,它以第二种编码方式出现,而不是第一种。有没有我可能会错过的东西。该代码是一个打字稿文件,名称为dashboard.component.ts
但是第二种方法不能在循环中使用以生成较大的字符串数组
无论如何,感谢这个社区为我提供了很多帮助。请提及是否需要更多详细信息,我也会提供。
我假设myStringArray
是一个空数组,第一种方法不是如何向数组添加项目。这就是您如何在已存在的索引处替换数组中的项目的方法...如果要在最后添加项目,请执行以下操作:
this.myStringArray.push(this.myObj["statename"]);
如果您想将其添加到开始使用shift
this.myStringArray.shift(this.myObj["statename"]);
第二种方法起作用,因为您只是用1个项目构造一个新数组。