以angular2显示哈希值

时间:2017-09-25 07:39:35

标签: angular

我想在angular2中显示哈希值。我得到哈希格式的响应:

[{"1":"7"},{"2":"6"},{"3":"8"},{"4":"1"}]

“1”是user_id,“7”是其帖子的计数。我需要在表中的用户索引页面中显示它。

User_Id  Posts
 1        7
 2        6

有人可以帮帮我吗?提前谢谢。

3 个答案:

答案 0 :(得分:0)

in component you will use the response to parse like this
response = JSON.stringify(obj);




 <table class="table table-inverse">
      <thead>
        <tr>
          <th>#</th>
          <th>User_Id</th>
          <th>Posts</th>
        </tr>
      </thead>
      <tbody>
        <tr *ngFor="let resonse of responseDto;">
          <th scope="row">1</th>
          <td>response['User_Id']</td>
        </tr>
        <tr*ngFor="let resonse of responseDto;">
          <th scope="row">2</th>
          <td>response['Posts']</td>
        </tr>
      </tbody>
    </table>

答案 1 :(得分:0)

您可以将user_id拆分并发布到2个不同的数组中,并使用这些数组填充表格。这里userIdArray会给你[1,2,3,4]而postsArray会给你[7,6,8,1]。

var userIdArray = [];
var postsArray = [];
array.forEach(function(userObject) {
    //userObject = {"1":"7"} or {"2":"6"} etc...
    userIdArray.push(Object.keys(userObject)[0]);
    postsArray.push(userObject[userIdArray[array.indexOf(userObject)]]);
});

我没有测试过shashi的回答是想知道这个是否有效,因为在使用循环方面,这对我来说似乎更可行。

答案 2 :(得分:0)

你可能想要这样的东西

data:any = [{"1":"7"},{"5":"6"},{"3":"8"},{"4":"1"}];
ngOnInit(){
this.data =  this.data.map( i => {
 //we need to create a new array to store the new data.
  let newItem = [];
//gets the property name. So this is 1,5,3,4
   const propertyName = Object.keys(i)[0];
      newItem[0]= propertyName;
//gets the value. So this is 7,6,8,1
      newItem[1] = i[propertyName] ;
      return newItem;
})
}

检查演示 https://stackblitz.com/edit/angular-rispse?file=app%2Fapp.component.ts

我在javascript方面不是很好,必须有更好的方法来做到这一点。

希望这有帮助。