nodejs判断数组中是否包含某个值
判断数组中是否包含某个值这⾥有四种⽅法。
⽤的测试数据:
let arr=["a","b","c"];
let arr2={"a":"aaa","b":"bbb","c":"ccc"};
in判断是否在数组的key⾥
in操作符针对的是key,⽽⾮value。⽽对于普通的⼀维数组来说,key是隐藏的。所以,对于判断某个数组中是否含有某个值来说,这个⽅案并不合适。nodejs字符串转数组
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。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论