js判断字符串是否在数组中
先加一个扩展函数:
Array.prototype.contains = function (obj) { var index = this.length; while (index--) { if (this[index] === obj) { return true; } } return false; }
定义一个数组: var arr_qf = ["原单价", "优惠折扣(%)", "月租金"];
调用函数,检测是否存在: arr_qf.contains(‘日租金')
下面是其他方法
⽅法1:array.indexOf
此⽅法判断数组中是否存在某个值,如果存在,则返回数组元素的下标,否则返回-1。
var arr=[1,2,3,4]; var index=arr.indexOf(3); console.log(index);
⽅法2:array.includes(searcElement[,fromIndex])
此⽅法判断数组中是否存在某个值,如果存在返回true,否则返回false
var arr=[1,2,3,4]; if(arr.includes(3)) console.log("存在"); else console.log("不存在");
⽅法3:array.find(callback[,thisArg])
返回数组中满⾜条件的第⼀个元素的值,如果没有,返回undefined
var arr=[1,2,3,4]; var result = arr.find(item =>{ return item > 3 }); console.log(result);
⽅法4:array.findeIndex(callback[,thisArg])
返回数组中满⾜条件的第⼀个元素的下标,如果没有找到,返回
-1
var arr=[1,2,3,4]; var result = arr.findIndex(item =>{ return item > 3 }); console.log(result);