js判断数组中是否存在某个值

JS数组方法详解
本文详细介绍了JavaScript中数组的四个常用方法:indexOf、includes、find及findIndex的功能与使用方式,并通过实例展示了如何利用这些方法来查找数组中的特定元素。

1. array.indexOf

  • 判断数组中是否存在某个值,如果存在返回数组元素的下标,否则返回-1
    let arr = ['something', 'anything', 'nothing', 'anything'];
    let index = arr.indexOf('nothing');
    # 结果:2
    

2. array.includes(searchElement[, fromIndex])

  • 判断一个数组是否包含一个指定的值,如果存在返回 true,否则返回false。
  • 参数:searchElement
    需要查找的元素值。
  • 参数:thisArg(可选)
    从该索引处开始查找 searchElement。如果为负值,则按升序从 array.length + fromIndex 的索引开始搜索。默认为 0。
    let numbers = [12, 5, 8, 130, 44];
    let result = numbers.includes(8);
    # 结果: true
    result = numbers.includes(118);
    # 结果: false
    

3. array.find(callback[, thisArg])

  • 返回数组中满足条件的第一个元素的值,如果没有,返回undefined
  • 参数:callback
    element 当前遍历到的元素。
    index 当前遍历到的索引。
    array 数组本身。
  • 参数:thisArg(可选)
    指定 callback 的 this 参数。
    // ---------- 元素是普通字面值 ----------
    let numbers = [12, 5, 8, 130, 44];
    let result = numbers.find(item => {
        return item > 8;
    });
    # 结果: 12
    // ---------- 元素是对象 ----------
    let items = [
        {id: 1, name: 'something'},
        {id: 2, name: 'anything'},
        {id: 3, name: 'nothing'},
        {id: 4, name: 'anything'}
    ];
    let item = items.find(item => {
        return item.id == 3;
    });
    # 结果: Object { id: 3, name: "nothing" }

4. array.findIndex(callback[, thisArg])

  • 返回数组中满足条件的第一个元素的索引(下标), 如果没有找到,返回-1
  • 参数:callback
    element 当前遍历到的元素。
    index 当前遍历到的索引。
    array 数组本身。
  • 参数:thisArg(可选)
    指定 callback 的 this 参数。
    // ---------- 元素是普通字面值 ----------
    let numbers = [12, 5, 8, 130, 44];
    let result = numbers.findIndex(item => {
        return item > 8;
    });
    # 结果: 0
    // ---------- 元素是对象 ----------
    let items = [
        {id: 1, name: 'something'},
        {id: 2, name: 'anything'},
        {id: 3, name: 'nothing'},
        {id: 4, name: 'anything'}
    ];
    let index = items.findIndex(item => {
        return item.id == 3;
    });
    # 结果: 2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值