angular цикл json объект и фильтрация данных - PullRequest
0 голосов
/ 18 июня 2020

мое angular приложение получит объект из бэкэнда

{
    "count": 6,
    "next": null,
    "previous": null,
    "results": [
        {
            "id": 160,
            "title": null,
            "rate": 5,
            "author": "anonymous",
            "content": null,
            "review": "here is the review",
            "url": "https://blog.com/?p=198",
            "fake": true,
            "tags": [
                "thi"
            ],
            "comments": [],
            "created_at": "2020-06-13T20:24:32.434131Z",
            "advertisement": {
                "id": 55,
                "created_at": "2020-06-13T20:24:32.432084Z",
                "title": null,
                "url": null,
                "advertizing_content": null
            }
        },

JSON структура данных из бэкэнда Я преобразовал массив

var dat:any=JSON.stringify(backenddata);
     this.z = backenddata["results"][0];

и выбрал результаты

 {
                "id": 160,
                "title": null,
                "rate": 5,
                "author": "anonymous",
                "content": null,
                "review": "here is the review",
                "url": "https://blog.com/?p=198",
                "fake": true,
                "tags": [
                    "thi"
                ],
                "comments": [],
                "created_at": "2020-06-13T20:24:32.434131Z",
                "advertisement": {
                    "id": 55,
                    "created_at": "2020-06-13T20:24:32.432084Z",
                    "title": null,
                    "url": null,
                    "advertizing_content": null
                }
            },

я хочу получить все теги в каждом объекте

console.log(this.z.tags)

я только что получил "undefined" в консоли

я пробовал

Object.values(tags);

пробовал все, что касается этих объектов, часть объектов. значения, ключи и все, когда я пробовал console.log (object.values ​​(y) [8]); (y здесь - объект json), я просто получаю значение первого объекта tag Я хочу, чтобы l oop все объекты разделяли эти теги и сохраняли их в переменной

ссылались на многие потоки переполнения стека, но это бесполезно Я понятия не имею, что именно не так https://www.youtube.com/watch?v=23ZjKQL-2E4&t=509s

также пробовал этот учебник, но он бесполезен

Я просто хочу получить все теги каждого объекта этого ответа json и сохранить его

1 Ответ

2 голосов
/ 19 июня 2020

Если вам нужно tags из всех объектов массива results, вы можете использовать функцию map. Попробуйте следующее

tags = [];

this.someService.getData().subscribe(
  data => {
    this.tags = data['results'].map(result => result['tags']);
    // this.tags = [['thi'], ['thi', 'ths'], ...]
  },
  error => { }
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...