2015-10-26 120 views
-1

我想製作一個小的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); 
 
}

+0

不能正常工作 – knight

0

這裏是一個較短的方式做到這一點:

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

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