[英]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.