javascript检查元素是否包含数组的一部分

前端之家收集整理的这篇文章主要介绍了javascript检查元素是否包含数组的一部分前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有这样的阵列
var ALLOW_SUBNET = ['192.168.1.','192.168.2.','192.168.3.','192.168.4.'];

我可以使用我自己的功能获取PC Client的IP地址:

getIPClient()
    var ipclient = input.getIPClient();

我的问题是如何检查客户端IP是否在我允许的子网内,我试图使用indexOf()函数,但结果是错误的.
例如:

if IP Client is 192.168.1.115 => allow

if IP Client is 192.168.5.115 => deny.

解决方法

您可以使用 Array#some,并检查ALLOW_SUBNET的一部分是否在位置0的ip内.
function check(ip) {
    return ALLOW_SUBNET.some(function (a) { return !ip.indexOf(a); });
}

var ALLOW_SUBNET = ['192.168.1.','192.168.4.'];

console.log(check('192.168.1.115'));
console.log(check('192.168.5.115'));

ES6与String#startsWith

function check(ip) {
    return ALLOW_SUBNET.some(a => ip.startsWith(a));
}

var ALLOW_SUBNET = ['192.168.1.','192.168.4.'];

console.log(check('192.168.1.115'));
console.log(check('192.168.5.115'));
原文链接:https://www.f2er.com/js/153495.html

猜你在找的JavaScript相关文章