【问题标题】:Reactjs filter list in order by letterReactjs 按字母顺序过滤列表
【发布时间】:2019-08-06 13:13:43
【问题描述】:

我有一个电子邮件地址列表。我想在用户输入电子邮件地址时过滤它们。当用户开始键入以字母“A”开头的电子邮件地址时,结果列表应显示仅以“A”字母开头的电子邮件地址。不是电子邮件地址中间或最后一个字母“A”。

我正在使用 .filter 方法。当我输入“A”时,它会显示所有“A”字母可用的电子邮件地址。不是第一个字母。

.filter(item => {
    return item.email.toLowerCase().indexOf(props.filterText.toLowerCase()) !== -1
}) 

item 是一个对象,email 是值。 filterText 获取用户输入的文本进行过滤。

【问题讨论】:

标签: javascript reactjs


【解决方案1】:

有两种方法

使用String.prototype.startsWith

items.filter(item => item.toLowerCase().startsWith(props.filterText.toLowerCase()))

或者如果它只有一个字母,你可以检查第一个索引

items.filter(item => item[0] && item[0].toLowerCase() === "a")

【讨论】:

    猜你喜欢
    • 2021-12-23
    • 2019-02-08
    • 1970-01-01
    • 1970-01-01
    • 2013-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-15
    相关资源
    最近更新 更多