node js 判断数组中是否包含某个值
Posted wjcoding
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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。
以上是关于node js 判断数组中是否包含某个值的主要内容,如果未能解决你的问题,请参考以下文章
前端面试 JavaScript— JS判断数组中是否包含某个值