现在有一个数组:let arr = [‘xxx@mail.com‘,‘xxx@mail.com‘,‘xxx@mail.com‘,‘xxx@mail.com‘]我现在获取当前用户的email是否有权限?

问:

现在有一个数组:let arr = ['xxx@mail.com','xxx@mail.com','xxx@mail.com','xxx@mail.com','xxx@mail.com'],我现在可以获取到当前用户的email,我需要将当前用户的email对照arr中,是否有这个email,有的话点击按钮可以跳转,当前用户email不存在arr就不可以跳转.

回答:

可以使用includes方法,返回的true或者false:

创造一个canNavigate字段,

canNavigate.value = arr.includes(currentUserEmail.value);

用canNavigate字段控制点击按钮是否跳转。

问:

能否使用indexOf?

回答:

可以,返回值同样是true或者false,

canNavigate.value = arr.indexOf(currentUserEmail.value) > -1;

问:

为什么我们使用indexOf一定要让他大于-1,才能起到判断的作用?

回答:

indexOf方法最终有,就会返回找到的元素的下标,最终找不到就会返回-1,不会返回布尔值。

所以,

在 JavaScript 中,indexOf 方法返回数组中指定元素的第一个索引,如果元素不存在,则返回 -1。因此,检查一个元素是否存在于数组中的常见方法是比较 indexOf 的返回值是否大于 -1

以下是详细解释:

  1. indexOf 方法的返回值

    • 如果数组中包含指定的元素,indexOf 返回该元素的第一个索引,索引从 0 开始。
    • 如果数组中不包含指定的元素,indexOf 返回 -1
  2. 为什么使用 > -1

    • 由于 indexOf 返回的索引是从 0 开始的,任何存在于数组中的元素的索引都会是非负数(即 0 或正数)。
    • 因此,检查一个元素是否存在于数组中的标准方法是比较 indexOf 的返回值是否大于 -1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值