美文网首页
JavaScript----判断数组或对象是否包含指定元素的方法

JavaScript----判断数组或对象是否包含指定元素的方法

作者: 扮猪老虎吃 | 来源:发表于2021-03-10 20:14 被阅读0次
    测试数据
    let arr = ['a', 'b', 'c']
    let obj = {'a': 1, 'b': 2, 'c': 3}
    

    1. in

    console.log('a in arr', 'a' in arr)
    console.log('aa in arr', 'aa' in arr)
    console.log('2 in arr', 2 in arr)
    console.log('3 in arr', 3 in arr)
    console.log('a in obj', 'a' in obj)
    console.log('aa in obj', 'aa' in obj)
    
    运行结果
    a in arr false
    aa in arr false
    2 in arr true
    3 in arr false
    a in obj true
    aa in obj false
    
    总结

    in操作符

    • 针对的是key值,而非value值.
    • 对于数组,key值是隐藏的,表示索引值(index)
    • 对于对象,key值显而易见。
    • 返回值:存在true,不存在false

    indexOf

    console.log('arr.indexOf("a")',arr.indexOf("a"))
    console.log('arr.indexOf("aa")',arr.indexOf("aa"))
    console.log('obj.indexOf("a")', obj.indexOf("a"))
    console.log('obj.indexOf("aa")',obj.indexOf("aa"))
    
    运行结果
    arr.indexOf("a") 0
    arr.indexOf("aa") -1
    报错
    报错
    
    总结

    indexOf操作符

    • 仅用于字符串、数组。不能用于对象
    • 返回值: 存在返回 索引值(index), 不存在返回 -1

    includes

    console.log('arr.includes("a")',arr.includes("a"))
    console.log('arr.includes("aa")',arr.includes("aa"))
    console.log('obj.includes("a")', obj.includes("a"))
    console.log('obj.includes("aa")',obj.includes("aa"))
    
    运行结果
    arr.includes("a") true
    arr.includes("aa") false
    报错
    报错
    
    总结

    indexOf操作符

    • 仅用于字符串、数组。不能用于对象
    • 返回值:存在true,不存在false

    自定义函数find

    function find(search, object) {
        for (i in object) {
            if(object[i] === search) {
                return true
            }
        }
        return false
    }
    console.log('find("a",arr)', find('a', arr))
    console.log('find("aa",arr)', find('aa', arr))
    console.log('find("a",obj)', find('a', obj))
    console.log('find("aa",obj)', find('aa', obj))
    
    运行结果
    find("a", arr) true
    find("aa", arr) false
    find("a", obj) false
    find("aa", obj) false
    
    总结

    自定义函数find可以用于数组和对象。

    总结

    数组包含某个值的判断:includes / indexOf / find
    数组包含某个键(index)的判断: in
    对象包含某个值(value)的判断: find
    对象包含某个键(key)的判断: in

    相关文章

      网友评论

          本文标题:JavaScript----判断数组或对象是否包含指定元素的方法

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