I am trying to filter my data, using more_than, and I want to show only data, which number is bigger than entered in the input.
I don't know why my filter does not work.
Here is my JS:
const data = [
{
"id": 2,
"number": 50,
"title": "ASD",
"src": "https://cloudfour.com/examples/img-currentsrc/images/kitten-small.png"
},
{
"id": 1,
"number": 122,
"title": "FGH",
"src": "https://cloudfour.com/examples/img-currentsrc/images/kitten-small.png"
}
]
const info_container = document.querySelector('.info-container')
const more_than = (e) => {
data.filter((a) => {
return parseFloat(a.number) > parseFloat(e)
})
fetchData()
}
const fetchData = () => {
info_container.innerHTML = "";
data.forEach((item, index) => {
const img = document.createElement("img");
const title = document.createElement('h3')
const node = document.createTextNode(item.src);
const node_title = document.createTextNode(item.title)
title.appendChild(node_title)
img.src = item.src
info_container.appendChild(title)
info_container.appendChild(img);
})
}
window.onload = function() {
fetchData()
}
HTML :
<input oninput="more_than(value)" class="input-number" type="number">
<div class="info-container">
</div>