首页 > 解决方案 > 通过 indexof 过滤 JavaScript 对象数组

问题描述

对此的所有答案似乎都在使用精确匹配,我希望将 indexOf 用于部分匹配。

我的数组是这样的:

[{fName: 'John'}, {fName: 'Johnny'}, {fName: 'Sally'}]

我有一个文本字段设置为每次输入新字符时调用一个函数。一旦他们开始输入,我希望能够接受用户输入并过滤数组,所以如果他们输入“J”,它应该返回 John 对象和 Johnny 对象。如果我与“John”进行完全匹配,它会返回正确的对象,但不会返回部分匹配。这是我到目前为止所拥有的:

this.nameArray.filter((name) => {
      return this.textInputValue.indexOf(name.fName) > -1;
});

标签: typescript

解决方案


this.nameArray.filter((name) => {
      return userInput===name.fName.substring(0, userInput.length);
});

推荐阅读