使用下划线在数组中搜索 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
如何在 IPs
(ip1
、ip2
、ip3
)中搜索 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
})
我有文件 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
如何在 IPs
(ip1
、ip2
、ip3
)中搜索 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
})