首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >typescript Angular中的数组问题

typescript Angular中的数组问题
EN

Stack Overflow用户
提问于 2020-04-16 02:13:26
回答 1查看 54关注 0票数 0

我正在编写一个angular应用程序,我面临着将API对象数据存储到字符串数组中的问题。

JSON格式:

代码语言:javascript
复制
{
     "data1":{
     "data11":"data11d",
     "statename":"West Bengal"
     },
     "data2":{
         "data21":"data21d",
     "statename":"Assam"
     }
 }

我使用带有索引的'.values‘通过代码提取第一个键data1的内部statename值,并将其存储在字符串数组中,以使用代码索引0

代码语言:javascript
复制
this.myObj=Object.values(this.apiJson)[0]; //Obj data is coming which is debugged and checked
this.myStringArray[0]=this.myObj["statename"];

但是值不会进入数组,但是当我使用字符串数组的另一种声明方式时,它可以工作

代码语言:javascript
复制
this.myObj=Object.values(this.apiJson)[0]; //Obj data is coming which is debugged and checked
this.myStringArray=[this.myObj["statename"]];

输出应该是西孟加拉,这是在第二种编码方式,但不是第一种。是不是我漏掉了什么。代码是一个名称为dashboard.component.ts的打字文件

但是第二种方法不能在循环中用来生成一个大的字符串数组

无论如何,感谢这个社区帮了我很多。请提及,如果需要更多的细节,我也会提供。

EN

回答 1

Stack Overflow用户

发布于 2020-04-16 02:17:37

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

代码语言:javascript
复制
this.myStringArray.push(this.myObj["statename"]);

如果要将其添加到start,请使用shift

代码语言:javascript
复制
this.myStringArray.shift(this.myObj["statename"]);

第二种方法有效,因为您只是构造了一个包含1项的新数组。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61235724

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档