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

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。

node js 判断数组中是否包含某个值的更多相关文章

  1. js判断数组中是否包含某个值

    /** * 判断数组中是否包含某个值 * @param arr 数组 * @param str 值 * @returns {boolean} */ function contains(arr, str ...

  2. Js 判断数组中是否包含某个值

    includes() 方法用来判断一个数组是否包含一个指定的值,如果是返回 true,否则false. JavaScript Array includes() 方法

  3. js判断数组中是否包含某个元素

    参考:http://www.runoob.com/jquery/misc-inarray.html js判断数组中是否包含某个元素 $.inArray( value, array [, fromInd ...

  4. js 判断数组中是否包含某个元素(转载)

    来源:https://www.cnblogs.com/yunshangwuyou/p/10539090.html 方法一:array.indexOf(item,start):元素在数组中的位置,如果没 ...

  5. js 判断数组中是否包含某个元素

    vuex中结合使用v-if: 链接:https://www.cnblogs.com/hao-1234-1234/p/10980102.html

  6. js 判断数组中是否有重复值

    function arrHasvalue(arr) { var nary = arr.sort(); for (var i = 0; i < arr.length; i++) { if (nar ...

  7. js 判断数组中是否有某值

    function arrHasValue(v, arr) { var output = false; for (var i in arr) { if (v == arr[i]) { output = ...

  8. Jquery判断数组中是否包含某个元素$.inArray()的用法

    判断数组里面是否包含某个元素可以使用 $.inArray("元素(字符串)",数组名称) 进行判断 ,当存在该元素(字符串)时,返回该元素在数组的下标,不存在时返回 -1 示例代码 ...

  9. 161101、在Java中如何高效判断数组中是否包含某个元素

    如何检查一个数组(无序)是否包含一个特定的值?这是一个在Java中经常用到的并且非常有用的操作.同时,这个问题在Stack Overflow中也是一个非常热门的问题.在投票比较高的几个答案中给出了几种 ...

随机推荐

  1. Advanced Architecture for ASP.NET Core Web API

    转自: https://www.infoq.com/articles/advanced-architecture-aspnet-core ASP.NET Core's new architecture ...

  2. 当map的key为对象时,js无法解析key的属性值

    重写对象的toString方法,按照json数据的规则 然后前台string转json 控制台打印 这个方法不需要引入其他包 如果map的key属性过多,或者key是集合,可以在后台先转json,然后 ...

  3. Mongodb学习笔记(四)管理

    一.数据导出.导入 数据导入:mongoexport ./mongoimport -d 数据库 -c 集合 文件名 数据导出:mongoimport 参数说明: -d:指明使用的库,如text -c: ...

  4. tomcat查看当前内存

    查看运行中的tomcat内存非常简单,只需运行一下此界面就可以看到. <html> <head><meta http-equiv="Content-Type&q ...

  5. 多核 CPU 和多个 CPU 有何区别?

    原文来自:http://www.solves.com.cn/it/yj/CPU/2019-06-24/1122.html 多核CPU和多CPU的区别主要在于性能和成本.多核CPU性能最好,但成本最高: ...

  6. 在Docker中使用Microsoft SQL Server数据库

    下图中对SQL Server容器创建及数据库创建等操作进行了记录,方便自己日后查看.(文中的 * 仅表示隐藏自己的个人信息,手动马赛克,哈哈-) Docker下载可看上一篇博文mac系统,docker ...

  7. halo的工作目录,有一个是在代码里配置的,硬编码了

    在HaloProperties.java中: /** * Work directory. */private String workDir = HaloConst.USER_HOME + " ...

  8. pwnable.kr-flag-Writeup

    MarkdownPad Document *:first-child { margin-top: 0 !important; } body>*:last-child { margin-botto ...

  9. Python 高级特性介绍 - 迭代的99种姿势 与协程

    Python 高级特性介绍 - 迭代的99种姿势 与协程 引言 写这个笔记记录一下一点点收获 测试环境版本: Python 3.7.4 (default, Sep 28 2019, 16:39:19) ...

  10. 你了解真正的 restful API 吗?

    本文原创地址,博客:https://jsbintask.cn/2019/03/20/api/restful-api-best-practices/(食用效果最佳),转载请注明出处! 前言 在以前,一个 ...