Typescript Angular中的数组问题

问题描述 投票:0回答:1

我正在编写角度应用程序,并且在将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

但是第二种方法不能在循环中使用以生成较大的字符串数组

无论如何,感谢这个社区为我提供了很多帮助。请提及是否需要更多详细信息,我也会提供。

javascript arrays angular typescript typescript2.0
1个回答
0
投票

我假设myStringArray是一个空数组,第一种方法不是如何向数组添加项目。这就是您如何在已存在的索引处替换数组中的项目的方法...如果要在最后添加项目,请执行以下操作:

this.myStringArray.push(this.myObj["statename"]);

如果您想将其添加到开始使用shift

this.myStringArray.shift(this.myObj["statename"]);

第二种方法起作用,因为您只是用1个项目构造一个新数组。

© www.soinside.com 2019 - 2024. All rights reserved.