Фильтр панели поиска ionic2 - item.toLowerCase не является функцией

Я реализую проект ionic 2 с поиском фильтра по данным, которые я получаю из API. данные вытягиваются правильно, но моя проблема заключается в их фильтрации

import { Component } from '@angular/core';
import { IonicPage, NavController, NavParams, LoadingController, AlertController } from 'ionic-angular';
import { Http } from '@angular/http';
import 'rxjs/add/operator/map';
import { TransactionsPage} from '../../pages/pages'

/**
 * Generated class for the RoutesPage page.
 *
 * See https://ionicframework.com/docs/components/#navigation for more info on
 * Ionic pages and navigation.
 */

@IonicPage()
@Component({
  selector: 'page-routes',
  templateUrl: 'routes.html',
})
export class RoutesPage {

  items: any;

  constructor(public navCtrl: NavController, 
              public navParams: NavParams,
              public http: Http,
              public LoadingController: LoadingController,
              public alertCtrl: AlertController,
              ) {
  }

  ionViewDidLoad() {

    let loader = this.LoadingController.create({
      content: 'Please Wait'
      });
      loader.present().then(()=>{

        this.http.get('assets/locations.json').map(res => res.json()).subscribe(data =>{
          console.log(JSON.stringify(data));
          this.items= data;

      });
      loader.dismiss();
    })
  }

  getItems(ev: any) {
    // Reset items back to all of the items
    this.ionViewDidLoad();

    // set val to the value of the searchbar
    let val = ev.target.value;

    // if the value is an empty string don't filter the items
    if (val && val.trim() != '') {
      this.items = this.items.filter((item) => {
        return (item.toLowerCase().indexOf(val.toLowerCase()) > -1);
      })
    }
  }


}

Когда я начинаю печатать в текстовом поле, я получаю сообщение об ошибке в консоли браузера, и оно гласит:

item.toLowerCase is not a function

Любая помощь в том, как это сделать? Спасибо


person user6579134    schedule 16.09.2017    source источник
comment
Возможно, item является объектом, а не строкой, попробуйте использовать свойство объектов locations.json, например item.title.toLowerCase()   -  person JoxieMedina    schedule 16.09.2017
comment
опубликовать массив items   -  person Sachila Ranawaka    schedule 16.09.2017