有人能解释一下这个 JavaScript 语法吗?我不理解那个返回语句。"person" 是函数的参数吗?如果是,它是从哪里传递过来的?在这个组件中没有 person 变量。至少一个详细说明的返回语句也会有帮助,这样我就能理解了。
const filterBy = (term) => {
const searchTermLower = term.toLowerCase()
return (person) => Object.keys(person).some(prop =>
person[prop].toLowerCase().indexOf(searchTermLower) !== -1
)
}
const filterPerson = persons.filter(filterBy(searchTerm))
这里的 presons 是一个对象数组,search term 是一个字符串。
const persons=[
{ name: 'abc', number: '123456' },
{ name: 'def', number: '44233' },
{ name: 'xyz', number: '345345' },
{ name: 'npe', number: '12312' }]
我稍后将使用返回的filterPerson进行后续处理。代码运行得非常好,但是return语句中的箭头函数让我感到困惑。如果需要更多数据,我可以更新问题。