我正在编写一个angular应用程序,我面临着将API对象数据存储到字符串数组中的问题。
JSON格式:
{
"data1":{
"data11":"data11d",
"statename":"West Bengal"
},
"data2":{
"data21":"data21d",
"statename":"Assam"
}
}我使用带有索引的'.values‘通过代码提取第一个键data1的内部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的打字文件
但是第二种方法不能在循环中用来生成一个大的字符串数组
无论如何,感谢这个社区帮了我很多。请提及,如果需要更多的细节,我也会提供。
发布于 2020-04-16 02:17:37
我假设myStringArray是一个空数组,第一种方法不是如何向数组添加项。它是如何替换数组中已经存在的索引处的项目的……如果要在末尾添加项目,请执行以下操作:
this.myStringArray.push(this.myObj["statename"]);如果要将其添加到start,请使用shift
this.myStringArray.shift(this.myObj["statename"]);第二种方法有效,因为您只是构造了一个包含1项的新数组。
https://stackoverflow.com/questions/61235724
复制相似问题