所有答案似乎都在使用完全匹配,我正在寻找将indexOf用于部分匹配。
我的数组是这样的:
[{fName: 'John'}, {fName: 'Johnny'}, {fName: 'Sally'}]
我设置了一个文本字段,以便每次键入新字符时都调用一个函数。我希望能够在用户开始输入后接受用户输入并过滤掉数组,因此,如果他们输入“ J”,它将返回John对象和Johnny对象。如果我使用“ John”进行精确匹配,它将返回正确的对象,但不会返回部分匹配。这是我到目前为止的内容:
this.nameArray.filter((name) => {
return this.textInputValue.indexOf(name.fName) > -1;
});
答案 0 :(得分:2)
this.nameArray.filter((name) => {
return userInput===name.fName.substring(0, userInput.length);
});