Javascript 查找json中是否存在项
我试图使用nodejs请求在JSON代码中搜索ip。例如,如果JSON代码console.log中有127.0.0.1('True') 如果不是JSON代码控制台.Log中的127.0.0.1('False) 我不知道我的代码有什么问题Javascript 查找json中是否存在项,javascript,arrays,node.js,json,Javascript,Arrays,Node.js,Json,我试图使用nodejs请求在JSON代码中搜索ip。例如,如果JSON代码console.log中有127.0.0.1('True') 如果不是JSON代码控制台.Log中的127.0.0.1('False) 我不知道我的代码有什么问题 const request = require('request') request('http://localhost/checkdir.php?ips=1', function(error, res, body) { var ip = '127.0
const request = require('request')
request('http://localhost/checkdir.php?ips=1', function(error, res, body) {
var ip = '127.0.0.1';
var ips = JSON.parse(body);
if(ips == ip.ip){
console.log('FOUND 1 MATCH IP ID IS'.ip.id);
}
})
中的json代码
是[{“id”:“21”,“ip”:“127.0.0.1},{“id”:“22”,“ip”:“127.0.0.2}]使用查找:
request('http://localhost/checkdir.php?ips=1', function(error, res, body) {
var ip = '127.0.0.1';
var ips = JSON.parse(body);
const match = ips.find(item => item.ip == ip);
if (match) {
console.log('FOUND 1 MATCH IP ID IS' + match.id);
}
})
如果您有一个项目数组,并且只想知道是否满足某个
条件,则可以使用。它将根据是否满足该条件返回布尔值:
let ips=[{“id”:“21”,“ip”:“127.0.0.1”},{“id”:“22”,“ip”:“127.0.0.2”}]
//真的
log(ips.some(addr=>addr.ip==“127.0.0.1”))
//假的
console.log(ips.some(addr=>addr.ip==“127.0.0.9”))
您可以使用字符串搜索()方法:
当没有匹配项时,该方法返回-1。详细信息。请尝试此代码
var obj = [
{"id":"21","ip":"127.0.0.1"},
{"id":"22","ip":"127.0.0.2"}
];
var searchedIp = '127.0.0.1';
for (var i = 0; i < obj.length; i++){
if (obj[i].ip == searchedIp){
alert('true');
return;
}
}
alert('false');
var obj=[
{“id”:“21”,“ip”:“127.0.0.1”},
{“id”:“22”,“ip”:“127.0.0.2”}
];
var searchedIp='127.0.0.1';
对于(变量i=0;i
if(ips==ip.ip)
为什么ip.ip
?它应该是if(ips[index].ip==ip)
。您的代码控制台.log中有很多打字错误('找到一个匹配的ip ID是'.ip.ID');
什么是.ip。它是,您需要通过在控制台中分离参数,
不是ip。ip
是未定义的。n=ips.search(ip);^TypeError:ips.search不是一个函数
var obj = [
{"id":"21","ip":"127.0.0.1"},
{"id":"22","ip":"127.0.0.2"}
];
var searchedIp = '127.0.0.1';
for (var i = 0; i < obj.length; i++){
if (obj[i].ip == searchedIp){
alert('true');
return;
}
}
alert('false');