[英]how to print a javascript object's elements
我不確定您是否要添加一個div,但是您會執行以下操作->
document.getElementById("toBeAppendedTo").innerHTML = target.events[0].eventDate;
toBeAppendedTo
是您要向其中添加文本的div的ID。
append()
是一個jquery函數,不是javascript函數。
那將沒有任何格式,而只是div中的字符串值07-28-2017
。
我已經完成了大約15分鍾,所以它並不完美; 肯定沒有說明類型和邊緣情況,函數的設計可能會更好-更不用說將所有這些都作為一個巨大的字符串執行,然后將其設置為HTML可能是不好的做法(我已經習慣了React,哈!)。 無論如何,這將遍歷傳遞給它的任何數組或對象,並以大<ul>
遞歸方式將其全部打印出來。
const targetEl = document.querySelector('.js-target')
if (!targetEl) return
// Small helper functions
const isObj = data => typeof data === 'object' && !Array.isArray(data) && data !== null
const isArr = data => Array.isArray(data)
const dataToHTML = (data, noNode = false) => {
if (isObj(data)) {
const accumulator = Object.entries(data).reduce((acc, set) => acc + `<li><strong>${set[0]}</strong>: ${dataToHTML(set[1], true)}</li>`, '')
return `<ul>${accumulator}</ul>`
}
else if (isArr(data)) {
const accumulator = data.reduce((acc, item) => acc + dataToHTML(item), '')
return `<ul>${accumulator}</ul>`
}
else return noNode ? data : `<li>${data}</li>`
}
const logHTML = dataToHTML(exampleData)
targetEl.innerHTML = logHTML
假設您的數據/變量名為exampleData
。
任何問題都會在評論中彈出:-)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.