Динамический фильтр массива Typescript на основе введенного значения - PullRequest
0 голосов
/ 02 мая 2018

У меня есть требование, чтобы фильтровать массивы объектов на основе значения, введенного в поля ввода. Данные

data: [{
  taskname: 'Test1',
  taskId: '1',
  status: 'Submitted'
}, {
  taskname: 'Test2',
  taskId: '2',
  status: 'Resolved'
}, {
  taskname: 'Test3',
  taskId: '4',
  status: 'Submitted'
}, {
  taskname: 'Test4',
  taskId: '5',
  status: 'In Progress'
}, {
  taskname: 'Test5',
  taskId: '6',
  status: 'Resolved'
}, {
  taskname: 'Test6',
  taskId: '7',
  status: 'Submitted'
}
}]

в поле ввода при вводе

R

Тогда у меня есть данные фильтра, основанные на значении статуса с "R" Уважаемый о / п

data: [{
      taskname: 'Test2',
      taskId: '2',
      status: 'Resolved'
    }, {
      taskname: 'Test5',
      taskId: '6',
      status: 'Resolved'
    }
    }]

Мой код

var o/p = data.filter(x => x.status == input filed value);

Код выше не работает должным образом. Заранее спасибо.

1 Ответ

0 голосов
/ 02 мая 2018

let filterdData = data.filter(x => x.status.includes(input))

Вы можете использовать String.prototype.includes () , чтобы вернуть подмножество данных, свойство status которых включает в себя ваше input

...