scrimba
Frontend Career Path
Making websites interactive
Chrome Extension
Refactor renderLeads() to use a parameter
Go Pro!Bootcamp

Bootcamp

Study group

Collaborate with peers in your dedicated #study-group channel.

Code reviews

Submit projects for review using the /review command in your #code-reviews channel

Refactor renderLeads() to use a parameter
AboutCommentsNotes
Refactor renderLeads() to use a parameter
Expand for more info
index.js
run
preview
console
let myLeads = []
const inputEl = document.getElementById("input-el")
const inputBtn = document.getElementById("input-btn")
const ulEl = document.getElementById("ul-el")
const deleteBtn = document.getElementById("delete-btn")
const leadsFromLocalStorage = JSON.parse( localStorage.getItem("myLeads") )

if (leadsFromLocalStorage) {
myLeads = leadsFromLocalStorage
renderLeads()
}

// Refector the function so that it takes a parameter, leads, that it uses
// instead of the global myLeads variable. Remember to update all invocations
// of the function as well.

function renderLeads() {
let listItems = ""
for (let i = 0; i < myLeads.length; i++) {
listItems += `
<li>
<a target='_blank' href='${myLeads[i]}'>
${myLeads[i]}
</a>
</li>
`
}
ulEl.innerHTML = listItems
}

deleteBtn.addEventListener("dblclick", function() {
localStorage.clear()
myLeads = []
renderLeads()
})

inputBtn.addEventListener("click", function() {
myLeads.push(inputEl.value)
inputEl.value = ""
localStorage.setItem("myLeads", JSON.stringify(myLeads) )
renderLeads()
})
Console
/index.html
-1:39