我正在尝试制作小型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)
}
}
答案 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');