Вам, вероятно, было бы лучше использовать Masked Input для этого. Таким образом, пользователи могут ТОЛЬКО вводить цифры, и вы можете форматировать, как вы считаете нужным. Я не уверен, что это для веб-приложения, но если есть плагин jQuery с очень кликом, который предлагает некоторые варианты для этого.
http://digitalbush.com/projects/masked-input-plugin/
Они даже переходят к тому, как маскировать номера телефонов в их учебнике .
Вместо этого следует использовать функцию some
, чтобы проверить наличие хотя бы одного элемента, а функцию includes
- проверить, существует ли один элемент в целевом массиве.
this.result = res.filter(v => v.ingredients.some(ing => this.patternObj.includes(ing)));