簡體   English   中英

javascript將數組打印成段落

[英]javascript printing array into paragraphs

我正在嘗試制作一個本地 html 來顯示 txt 文件(也是本地)中的一些文本。 我用它來將文件讀入數組並打印它:

<input type="file" name="files" id="inputfile">
<script type="text/javascript"> 
document.getElementById('inputfile')
.addEventListener('change', function() {
    var test=new FileReader();
    test.onload=function(){
        document.getElementById('output')
                .textContent=fl.result;
    }
    test.readAsText(this.files[0]);
})
</script>

但是,我想將它從數組中逐行打印到段落中(第一行進入標題,第二行進入段落,第三行進入標題等等......)。 有沒有辦法從數組中自動完成,或者我必須為每個人手動完成? 我在 javascript 方面有點綠色,所以我寧願避免使用節點等。

如果標題和段落總是嚴格交替,您可以檢查每個數組索引是奇數還是偶數,以決定是否將其包裝在標題或段落標簽中。 單程:

 arr = ["header", "paragraph", "header", "paragraph", "header", "paragraph"] joined = arr.map((el, i) => { return (i % 2 === 0) ? `<h1>${el}</h1>` : `<p>${el}</p>` ; }).join('') console.log(joined)

 const arr = ['Heading 1','Para1','Heading 2','Para2','Heading 3','Para3']; const result = arr.map((val, i) => i%2===0 ? `<h2>${val}</h2>` : `<p>${val}</p>`).join(''); document.getElementById('output').innerHTML = result ;
 <div id="output"></div>

把它放在你的代碼中:

function arrToPar(arr){ //For JS-Array --> HTML content
    var out = "";
    for(var i = 0; i < arr.length; i++){
        out += arr[i] + "<br>";
    }
    return(out);
}

或者...

function arrToString(arr,joiner = " "){ //For JS-Array --> JS-String
    var out = ""; //The parameter "joiner", by default, is a space
    //This means that you only need to specify "arr", but you can do
    //a second parameter. This function behaves like arr.join(joiner).
    for(var i = 0; i < arr.length; i++){
        out += arr[i] + joiner;
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM