2017-03-29 39 views
-2

我需要某些代碼的幫助。 我試過的是以下。我需要幫助的是函數Binary(textArray)部分。簡單的JavaScript數組

說明 -
允許用戶瀏覽並選擇本地文本文件。 文本文件將包含一系列由新行分隔的數字。 100(下一行)200(下一行)300
函數將用於讀取文件中的值並將它們放入數組中。 然後將使用不同的函數將這些值相加並顯示結果。

<!DOCTYPE html> 
<html> 

<script> 
function readFile() 
{ 
    var file = document.querySelector('input[type=file]').files[0]; 
    var reader = new FileReader(); 
    var textArray; 

    reader.addEventListener("load", function() 
      { var TextLines; 
       document.getElementById('filecontents').innerHTML = reader.result;   
       textArray = reader.result.split("\n"); 
        Binary(textArray); 
      }, false); 

    if (file) { 
     reader.readAsText(file); 
    } 

} 

function Binary(textArray) 
{ 


    var Answer = 0; 


    for (var i = 0; i < textArray.length; i++) 
    { 
     Answer = i++ * textArray.length 

     //message += Answer + i++; 

     alert (textArray.length) (answer) 

    } 

} 
</script> 

<body> 
    <input type="file" onchange="readFile()"><br><br> 
    <textarea cols="80" rows="10" id="filecontents"></textarea> 

</body> 
</body> 
</html> 
+0

_ 「A不同的功能將被用於添加一起這些值,並且顯示結果。」 _什麼是'回答的目的= I ++ * textArray.length '和警報的預期結果(textArray.length)(答案)'? – guest271314

+0

感謝您的回覆。 Answer = i ++ * textArray.length會被移除嗎?我對HTML,JS等方面的經驗很少。 – AssistanceNeeded

+0

如果預期的結果是「將這些值加在一起」,爲什麼使用'i'和'textArray.length'? – guest271314

回答

0

綜上所述由換行設置爲陣列的元素分隔可以使用+=操作者for環內添加textArray[i]傳遞給​​到字符串轉換爲數字,增值Answer字符串值;調用alert(Answer)以下for

function Binary(textArray) { 
    var Answer = 0; 
    for (var i = 0; i < textArray.length; i++) { 
    // add `textArray[i]` string cast to number to `Answer` 
    Answer += Number(textArray[i]); 
    } 
    alert(Answer); 
} 

Binary(["100", "200", "300"]); 

的jsfiddle https://jsfiddle.net/bo2ahp1h/

+0

非常好用!非常感謝您的光臨guest271314。 – AssistanceNeeded