Angular 6 ngbTypeahead filter of list of JSON objects
Please add formatter and as you are using object as data source for that you need to descontruct your object to get desired fields:
formatter = (x: {name: string}) => x.name;
HTML input element need one more attribute [inputFormatter]
<input id="typeahead-basic" type="text" class="form-control" [(ngModel)]="item.outputProjection.name" [ngbTypeahead]="search" [inputFormatter]="formatter" />
Add formatter to your code
formatter = (result: string) => result.name;
also, include formatter to the template.
<input id="typeahead-format" type="text" class="form-control" [(ngModel)]="model" [ngbTypeahead]="search" [resultFormatter]="formatter" />