zoukankan      html  css  js  c++  java
  • node js 判断数组中是否包含某个值

    判断数组中是否包含某个值这里有四种方法。
    用的测试数据:

    let arr=["a","b","c"];
    let arr2={"a":"aaa","b":"bbb","c":"ccc"};

    in判断是否在数组的key里
    in操作符针对的是key,而非value。而对于普通的一维数组来说,key是隐藏的。所以,对于判断某个数组中是否含有某个值来说,这个方案并不合适。

    console.log("1:","a" in arr);  // false
    console.log("2:","aa" in arr);  // false
    console.log("3:",2 in arr);  // true
    console.log("4:",5 in arr);  // false
    console.log("5:","a" in arr2);  // true
    console.log("6:","aa" in arr2);  // false

    indexOf列表(字符串)是否包含
    indexOf仅用于字符串、列表,不能用于JSON对象(字典)。

    console.log("7:",arr.indexOf("c"));  // 2
    console.log("8:",arr.indexOf("aa"));  // -1
    console.log("9:",arr2.indexOf("b"));  //报错
    console.log("10:",arr2.indexOf("aaa"));  //报错

    includes用于列表和字符串
    includes仅用于字符串、列表,不能用于JSON对象(字典)。
    返回值为布尔值。

    console.log("11:",arr.includes("a"));  // true
    console.log("12:",arr.includes("aa"));  // false
    console.log("13:",arr2.includes("a"));  //报错
    console.log("14:",arr2.includes("aa"));  //报错

    自定义函数inArray
    自定义函数inArray可以用于数组,也可以用于对象。

    function inArray(search,array){
        for(var i in array){
            if(array[i]==search){
                return true;
            }
        }
        return false;
    }
    console.log("15:",inArray("a",arr));
    console.log("16:",inArray("aa",arr));
    console.log("17:",inArray("a",arr2));
    console.log("18:",inArray("bbb",arr2)



    总结
    数组是否包含某个值的判断方案有:includes/indexOf/inArray。
    数组是否包含有个键的判断方案是:in。
    对象是否包含某个属性值的方案是:inArray。
    对象是否包含某个属性名的方案是:in。
    数组或者对象通用的判断方式包括:in/inArray。

  • 相关阅读:
    如何根据工单状态判断订单状态
    jquery移除click事件
    mysql字符串相关函数(并与sql server对比)
    bootstrap-table api
    js调用jquery的function函数
    Bootstrap table设置th,td内容水平、垂直居中
    Error:java: 无法访问javax.servlet.Servlet 找不到javax.servlet.Servlet的类文件
    html常用表单元素,按钮
    点击重置按钮,清空表单所有内容
    bootstrap table设置列宽
  • 原文地址:https://www.cnblogs.com/wjcoding/p/11505184.html
Copyright © 2011-2022 走看看