使用下划线在数组中搜索 JSON 个值

Search JSON values in array using underscore

我有文件 default.json:

{
    "IPs": {
        "ip1": "192.168.0.1",
        "ip2": "192.168.0.2",
        "ip3": "192.168.0.3"
    }
}

我的代码:

var _      = require('underscore'),
    config = require('default.json')

var array  = ['192.168.0.1', '192.168.0.2']

//search array in IPs

如何在 IPsip1ip2ip3)中搜索 array 的值,并在其为真时调用函数?最好使用下划线函数。

假设你把default.json改成这样:

"IPs": {
    ip1: "192.168.0.1",
    ip2: "192.168.0.2",
    ip3: "192.168.0.3"
}

然后您可以搜索匹配的IP

var foundIPs = Object.keys(config.IPs).filter(function(name) {
  // name will be something like 'ip1', 'ip2', or 'ip3'
  var currIP = config.IPs[name]; // eg. currIP = "192.168.0.1"
  var inArray = array.indexOf(currIP) > -1;
  return inArray;
});
var foundIP = foundIPs.length > 0;

我使用了这个解决方案(underscore):

文件default.json

    {
        "IPs": {
            "ip1": "192.168.0.1",
            "ip2": "192.168.0.2",
            "ip3": "192.168.0.3"
        }
    }

代码:

var _      = require('underscore'),
    config = require('default.json')

var array = ['192.168.0.1', '192.168.0.2']
var IPs   = config.IPs

_.each(IPs, function(e, k){
    //if find IPs in array
    if(array.indexOf(e) > -1)
        //do something
    else
        //do something
})