Я недавно начал работать над Angular. Я создаю фильтр для моего Angular приложения. Сценарий такой: у меня 100 (скажем) пользователей и их личные данные в формате JSON. Для этого я использую JSONPlaceholder
, API ложного отдыха. Я использую метод fetch()
, чтобы получить все эти пользовательские записи, и все эти записи должны находиться в моем локальном массиве usres=[];
. Я хочу, чтобы позже я мог отображать этих пользователей на карточках, а также я хотел бы применить фильтр на основе имени, местоположения, навыков и т. Д. c. Моя проблема в том, что я не могу push
значения в мой users
массив. Я пытался получить помощь от:
- JSON массивов: w3school
- Как преобразовать JSON объект в JavaScript массив?
- Как поместить sh JSON объект в массив, используя javascript
Здесь - это все JSON о котором я говорю.
Я сам позабочусь о фильтрации, пожалуйста, помогите мне заполнить мой массив users=[];
. Оттуда я могу взять на себя ответственность.
Вот код.
card.component.ts
import { Component, OnInit } from '@angular/core';
@Component({
...
})
export class CardComponent implements OnInit {
text='';
users=[];
filteredUsers=[];
constructor() { }
ngOnInit() {
fetch('https://jsonplaceholder.typicode.com/users')
.then(response => response.json())
.then(json => this.users.push(json))
}
SearchFunction(text) {
this.filteredUsers=(this.users.filter(e => {
return e.name.toLocaleLowerCase() === text.toLocaleLowerCase ||
e.name.toLowerCase().indexOf(text.toLowerCase()) >= 0
}));
console.log(this.filteredUsers);
}
}
Но я думаю, что это stackblitz сэкономит всем время и усилия. Пожалуйста, поправьте меня.