美文网首页
『XXG JS』JavaScript 数组 - 查找

『XXG JS』JavaScript 数组 - 查找

作者: 谢夏戈 | 来源:发表于2022-07-25 23:29 被阅读0次

    👋 本文章为我(XXG)原创,由于个人能力有限,此笔记可能会错漏、过时、或需要补充。
    📖 笔记文章由于多平台发布,为了修改方便,可以参观我的博客:https://xxggg.github.io
    🚀 我会根据我的知识学习,持续更新、完善这些笔记。让它更加通俗易懂,少错误。
    🐤 本文章对应博客里的:https://xxggg.github.io/FrontEnd/JavaScript/JS_ArrayFind.html

    🟨 JS 数组查找

    • includes() 【判断(字符 / 数组)里有没有这个数】
    • find() 【返回数组中第一个满足条件的key】
    • findIndex() 【从0开始找】【返回index索引】【针对对象】
    • indexOf() 【从0开始找】【返回index索引】【针对普通数组】
    • lastIndexOf() 【从后往前找】【返回index索引】【针对普通数组】

    🟨 includes()

    判断(字符 / 数组)里有没有这个数

    1. 第一个参数是要找的
    2. 第二个是从哪个索引开始找,默认从0开始找
    data.includes(找的参数,[可选。从哪个索引位置开始搜寻,默认值为0])
    // 返回布尔值 true/false
    

    🌰 举个栗子👇

    let arr = [1,2,3]
    let xxg = arr.includes(1)
    console.log(xxg)//true
    
    let xxgg = arr.includes(1,1) //从第一位往后数!数组的从0开始的
    console.log(xxgg)//false
    
    let str = '谢夏戈是个帅哥!'
    let xxgg = str.includes('是')
    console.log(xxgg)//true
    

    🟨 find()

    返回数组中第一个满足条件的数据

    let arr = [10, 20, 30, 40, 50, 60, 70, 80, 90];
    let xxg = arr.find((item, index) => {
        return item > 40;
    })
    console.log(xxg);//50
    

    🟨 findIndex()

    返回数组中第一个满足条件的索引(从0开始), 不满足返回-1

    let arr = [10, 20, 30, 40, 50, 60, 70, 80, 90];
    let xxg = arr.findIndex((item, index) => {
        return item > 40;
    })
    console.log(xxg);//4
    
    • findIndex :比较函数作为第一个参数,多用于非基本类型(例如对象)的数组索引查找,或查找条件很复杂
    • indexOf :查找值作为第一个参数,采用 === 比较,更多的是用于查找基本类型,如果是对象类型,则是判断是否是同一个对象的引用

    🟨 indexOf()

    返回数组中第一个满足条件的索引(从0开始), 不满足返回-1

    // var num = [10, 20, 30, 40, 50, 60, 70, 80, 90];
    let arr = [10, 20, 30, 40, 50, 60, 70, 80, 90];
    let xxg = arr.indexOf(40);
    let xxgg = arr.indexOf(40, 10);//从索引10的位置开始向后查找
    
    console.log("xxg = " + xxg);//3
    console.log("xxgg = " + xxgg);//-1
    
    • indexOf 更多的是用于查找基本类型,如果是对象类型,则是判断是否是同一个对象的引用
    let arr = [{a: 1}, {b: 2}];
    console.log(sisters.indexOf({b: 2}));// -1 【找不到这个对象】
    
    const an = {b: 2}
    arr = [{a: 1}, an];
    console.log(sisters.indexOf(an));// 1 【对象的引用是可以匹配的!】
    

    🟨 lastIndexOf()

    返回数组中最后一个满足条件的索引(从0开始), 不满足返回-1

    let arr = [10, 20, 30, 40, 50, 60, 70, 80, 90];
    let xxg = arr.lastIndexOf(40);
    let xxgg = arr.lastIndexOf(40, 9);//从索引1的位置开始向前查找
    let xxggg = arr.lastIndexOf(40, 1);//从索引1的位置开始向前查找
    
    console.log(xxg);//3
    console.log(xxgg);//3
    console.log(xxggg);//-1 从1往前找是找不到的了哦~
    

    相关文章

      网友评论

          本文标题:『XXG JS』JavaScript 数组 - 查找

          本文链接:https://www.haomeiwen.com/subject/lgbnirtx.html