将对象转换为angular2 / typescript中的数组

时间:2017-01-29 07:55:25

标签: angular typescript

我是角色和打字稿的新手,我有这个功能

 onSetValues(user){ //user is an object
    console.log(user);  
 }

上面的console.log返回一个

形式的对象
role:"administrator"
status:10
tries:2

我想将其转换为数组,以便我可以像

一样遍历它们
for(var i=0; i<array.length; i++){
 //do m stuff here
  }

我如何转换

我已经检查了this link,但它在angular2 / typescript

中没有任何帮助

我也试过

console.log(user| {}) //also fails

3 个答案:

答案 0 :(得分:7)

如果你真的想将对象值转换为数组......你必须这样做。

  let user = {
    role:"administrator",
    status:10,
    tries:2,
  };

  let arr = [];
  for(let key in user){
   if(user.hasOwnProperty(key)){
     arr.push(user[key]);
   }
  }
  console.log(arr);

来自console.log的结果

0:"administrator" 1:10 2:2

答案 1 :(得分:2)

您可以使用属性

创建界面
interface user{
  role: string;
  status: string;
  tries: number;
}

在appcomponent中创建一个数组,

 users: user[] = [];

然后你可以推送用户对象并将其作为一个数组,

this.users.push(user);

答案 2 :(得分:0)

只需将响应data放在square bracket内即可。

并将其保存在class中。

this.servicename.get_or_post().subscribe(data=> this.objectList = [data]);