IP地址日志和比较

时间:2015-10-26 11:19:53

标签: javascript

我正在尝试制作小型JavaScript IP记录和日志程序,要求用户输入IP地址,然后检查数据中是否已存在该IP。如果IP存在,那么它告诉用户IP已经存在,否则它将IP添加到集合数组中。我已经尝试了好几次,但它没有用。

var collection = [];
var ip = prompt("enter ip", "");
for (var ips in collection){
  if ( ip === collection [ips]){
    console.log(ip);
  }
  else   
  { 
    collection.push(ip);
    console.log(ip)
  }
}

2 个答案:

答案 0 :(得分:0)

你有一个没有任何内容的数组。

然后对于数组中的每个项目,您可以:

  • 日志
  • 将当前值添加到其中

既然没有,你就永远都不会。

(如果有条目,则多次添加当前值。)

使用当前方法执行此操作的方法是在循环后执行

var collection = [];
var ip = prompt("enter ip", "");
var seen = false;
for (var ips in collection) {
  if (ip === collection[ips]) {
    console.log(ip);
    seen = true;
  }
}
if (!seen) {
  collection.push(ip);
  console.log(ip)
}

更好的方法是使用indexOf

var collection = [];
var ip = prompt("enter ip", "");
if (collection.indexOf(ip) === -1) {
  collection.push(ip);
}

答案 1 :(得分:0)

这是一种较短的方法:

var collection = [];
var ip = prompt("enter ip", "");

if (collection.indexOf(ip) < 0)
    collection.push(ip)
else
    alert('The IP ' + ip + 'exists');