迭代离子2中的对象数组&;AngularJS 2
我试着列出一些我从使用laravel构建的API中得到的评论,这些API展示了一些关于一些食物的评论,一个关于评论消息的幻灯片,以及一些你可能在对象数组中看到的数据迭代离子2中的对象数组&;AngularJS 2,angular,typescript,ionic2,Angular,Typescript,Ionic2,我试着列出一些我从使用laravel构建的API中得到的评论,这些API展示了一些关于一些食物的评论,一个关于评论消息的幻灯片,以及一些你可能在对象数组中看到的数据 { "2": { "reviews": [ { "id": 2, "title": "Trop bon !", "author": 1, "text": "
{
"2": {
"reviews": [
{
"id": 2,
"title": "Trop bon !",
"author": 1,
"text": "Trop bon ! 11 Trop bon !Trop bon !Trop bon !Trop bon !",
"picture": "",
"rating": 4.5
},
{
"id": 3,
"title": "Review 2",
"author": 1,
"text": "another review",
"picture": "",
"rating": 3
}
],
"data": {
"restaurant": {
"restaurant_id": 1,
"restaurant_logo": "http://3.bp.blogspot.com/-Oz5XdPqGddQ/ULy9zwbIDXI/AAAAAAAAPio/HZwYtIr7DfE/s1600/22-restaurant-logo-design.jpg",
"restaurant_title": "Resto BenArus",
"restaurant_type": "Fast Food",
"restaurant_lat": "36.7465169",
"restaurant_lng": "10.2171373",
"user_distance": 9.3072696748262
},
"meal": {
"id": 2,
"meal_title": "Spaghetti Bolonaise",
"price": 50,
"meal_description": "Epic !",
"reviews_count": 2,
"overall_rating": 3.75
}
}
},
"3": {
"reviews": [
{
"id": 4,
"title": "Total",
"author": 1,
"text": "cristifant ",
"picture": "https://www.gravatar.com/avatar/d9625431c20a1565a2e06f811a95c36c?s=140&d=retro",
"rating": 3
}
],
"data": {
"restaurant": {
"restaurant_id": 2,
"restaurant_logo": "http://3.bp.blogspot.com/-Oz5XdPqGddQ/ULy9zwbIDXI/AAAAAAAAPio/HZwYtIr7DfE/s1600/22-restaurant-logo-design.jpg",
"restaurant_title": "resto 2",
"restaurant_type": "Fast Food",
"restaurant_lat": "10",
"restaurant_lng": "32",
"user_distance": 3701.7730713836
},
"meal": {
"id": 3,
"meal_title": "Hamburger",
"price": 12,
"meal_description": "",
"reviews_count": 1,
"overall_rating": 3
}
}
}
}
我创建了一个管道来遍历结果:
transform(value, args:string[]):any {
let keys = [];
for (let key in value) {
keys.push({key: key, value: value[key]});
}
return keys;
}
但它没有给出更好的结果,我得到的只是数组的第一个键:
数据显示方式(不确定是否正确):
值:{{data2.Value}}{{data2.key}}
值:{{data3.Value}}{{data3.key}}
{{reviews.value['title']}{{reviews.value['author']}
{{data.value['mean']['title']}
({{data.value['dine']['reviews_count']})Avis
这个问题和这个问题之间的区别很简单,在这个问题上,我直接转换了数组,但在这里,我使用数组元素作为值,然后在知道它们是什么之后转换它们(例如:
data.value['reviews']
)你得到了答案吗?我也有同样的问题。如果你有解决方案,请做必要的事情。是的,我只需要做的不仅仅是简单的itration,而是转储返回的数据并转换到另一个array@RahulMankar我刚刚发布了我用作答案的代码
<ion-content padding>
<ion-list *ngFor="let data of search | keyobject " no-lines>
<ion-list *ngFor="let data2 of data | keyobject " no-lines>
<ion-item>Value: {{ data2.value }} {{ data2.key }}</ion-item>
<ion-list *ngFor="let data3 of data2 | keyobject " no-lines>
<ion-item>Value: {{ data3.value }} {{ data3.key }}</ion-item>
</ion-list>
</ion-list>
</ion-list>
</ion-content>