2016-12-16 64 views
-3

我已經創建了一個數組,並試圖打印出長度超過4個字母的所有單詞。Javascript array long than 4

這裏是我的代碼:

function oppC(){ 
     var ord = ["Apple", "Two", "Yesterday", "mother", "lol", "car", "computer"]; 
     for(var i = 4; i < ord.length;i++) { 
      pEl.innerHTML = ord; 
     } 
     } 
+5

'如果(ORD [I]。長度> 4)...'任何人...?太明顯了? – deceze

+2

'pEl.innerHTML + = ord [i];','+ ='否則文本將被last語句覆蓋,'[i]'訪問數組元素 – Satpal

回答

1

您應該使用filter功能。

這裏是解決方案。

function oppC(){ 
 
     var ord = ["Apple", "Two", "Yesterday", "mother", "lol", "car", "computer"]; 
 
     console.log(ord.filter(function(item){ 
 
       return item.length>4; 
 
     })); 
 
} 
 
oppC();

如果使用IE8,請試試這個:

console.log($.grep(ord,function(item){ 
     return item.length>4; 
})); 
+1

您已經包含了jQuery。我想這是爲了向後兼容'filter'(這在IE8中本身不起作用),但是你並沒有使用它。如果你想讓它在IE8上工作,你需要執行'$(ord).filter(function(){return this.length> 4;});否則,在這裏包含jQuery沒有任何意義。 – blex

+0

感謝您的意見。我更新了IE8的答案,我知道'jquery grep'是比'filter'更好的解決方案。 –

1

以您目前的for循環,你只能看5個元素向前。如果你想讓它變得所有字符串長度超過4個字符,你可以這樣做:

function oopC(){ 
    var ord = ["Apple", "Two", "Yesterday", "mother", "lol", "car", "computer"]; 
    for(var i = 0; i < ord.length; i++){ // cycle through **all** elements, because arrays start with 0 
     if(ord[i].length > 4){ // if the element length is greater than 4 
      pEl.innerHTML += ord[i]; // add element to the textview 
     } 
    } 
} 
0

下面是簡單的代碼,不需要任何JavaScript庫

function oppC(){ 
    var ord = new Array("Apple", "Two", "Yesterday", "mother", "lol", "car", "computer"); 
    for(var i = 0; i < ord.length; i++) { 
     if(ord[i].length > 4){ 
      document.write(ord[i]+"<br>"); 
     } 
    } 
} 

oppC(); 
-1

你只需要添加如果一個循環內的條件,以檢查是否長度大於4

function oppC() { 
    var ord = ["Apple", "Two", "Yesterday", "mother", "lol", "car", "computer"]; 
    for (var i = 0; i < ord.length; i++) { 
     if (ord[i].length > 4) { 
      pEl.innerHTML += ord[i]; 
     } 
    } 
} 
0

這是一個可能的解決方案。 CSS只是顯示,如何添加項目。

function oppC(){ 
 
     var pEl = document.getElementById("output"); 
 
     var ord = ["Apple", "Two", "Yesterday", "mother", "lol", "car", "computer"]; 
 
     for(var i = 0; i < ord.length;i++) { 
 
      if (ord[i].length > 4) { 
 
       pEl.innerHTML += '<div class="long-item">' + ord[i] + '</div>'; 
 
      } 
 
     } 
 
    } 
 

 
oppC();
.output-list { 
 
    border: 1px solid #ccc; 
 
} 
 

 
.long-item { 
 
    color: #333; 
 
    font-family: monospace; 
 
    border-bottom: 1px solid #ccc; 
 
    padding: 3px 5px; 
 
}
<div id="output" class="output-list"> 
 
</div>