如何在 Json/array 中获得与用户输入相同的值?

How to get the same value in a Json/array as the user input?

我想搜索 Json 并获得与用户输入相同的值。 我不知道为什么我的代码不起作用。所以例如用户搜索汽车。如果汽车在 Json。它应该在页面中显示汽车一词。 这是我的代码:

管道:

import { Pipe, PipeTransform } from '@angular/core';


@Pipe({
  name: 'filter'
})
export class FilterPipe implements PipeTransform {
transform(items: any[], searchText: string): any[] {
if(!items) return [];
if(!searchText) return items;
searchText = searchText.toLowerCase();
return items.filter( it => {
        return it.toString().toLowerCase().includes(searchText);
});

} }

Html:

      <li *ngFor="let char of characters | filter : searchText" > 
          {{ searchText}}  
          {{char.name}}
          {{char.age}}
      </li>

</ul>

组件:

export class SearchComponent  {
characters: any[] = [
      {
        "name": "audi",
        "age": 1999
      },
      {
        "name": "toyota",
       "age": 2000
      }



}

我认为 it.toString() returns 类似于:[object Object]

试试 JSON.stringify(it).toLowerCase().includes(searchText);

你的烟斗应该是这样的

import { Pipe, PipeTransform } from '@angular/core';
@Pipe({
 name: 'filter'
})
export class FilterPipe implements PipeTransform {
transform(items: any[], searchText: string): any[] {
if(!items) return [];
if(!searchText) return items;
searchText = searchText.toLowerCase();
return items.filter( it => {
    return it.name.toString().toLowerCase().includes(searchText);
});