2013-12-12 24 views
7

javascript ile sıralanmamış bir sayı listesi içinde döngülemeye çalışıyorum. İşlev, tüm sayıları bir dizide saklamalıdır, böylece hangi sayıların çift olduğunu bulabilirim. Herhangi bir yardım takdir edilecektir.javascript liste öğeleri aracılığıyla döngü ve sonuçları bir dizi içinde döndürün

<html> 
<head> 
    <title></title> 
</head> 
<body> 
<ul id="ul"> 
    <li>6</li> 
    <li>3</li> 
    <li>1</li> 
    <li>4</li> 
    <li>7</li> 
    <li>4</li> 
    <li>2</li> 
    <li>8</li> 
    <li>9</li> 
    <li>2</li> 
</ul> 
</body> 
</html> 

ve javascript bir başlangıç: Şimdiye kadar ben ne

(function(){ 

      var nums = document.getElementById("ul"); 
      var listItem = nums.getElementsByTagName("li"); 

      var newNums = ""; 

      var dups = function(){ 
      for (var i = 0; i < listItem.length; i++){ 

      } 

      }; dups(); 

      })(); 

eksik?

cevap

23
var nums = document.getElementById("ul"); 
var listItem = nums.getElementsByTagName("li"); 

var newNums = []; 

for (var i=0; i < listItem.length; i++) { 
    newNums.push(parseInt(listItem[i].innerHTML, 10)); 
} 

FIDDLE

Eğer

for (var i=0; i < listItem.length; i++) { 
    var num = parseInt(listItem[i].innerHTML, 10); 
    if (newNums.indexOf(num) === -1) { 
     newNums.push(num); 
    } 
} 

FIDDLE

yapabilirsiniz Ve ayrıca daha

kereden
var newNums = [], 
    duplicate = []; 

for (var i=0; i < listItem.length; i++) { 
    var num = parseInt(listItem[i].innerHTML, 10); 
    if (newNums.indexOf(num) === -1) { 
     newNums.push(num); 
    }else{ 
     duplicate.push(num); 
    } 
} 
görünen değerlerle dizisini almak için çoğaltılabilir değerleri alınamadı için

FIDDLE

Array.indexOf tüm tarayıcılarda desteklenmiyor olabilir, ama bir polyfill MDN

orada bitti
İlgili konular