Fillter Array by Value
by Adi Jaya
HTML
<p>
<input id="input" value="deleCtus ullam"/>
<button id="search">Search</button>
</p>
<p id="info"></p>
JavaScript
function elem( x ){
return document.querySelector( x );
}
function filterByValue( arr, term, key ) {
var res = arr.filter(function(v, i) {
if ( v[key].toLowerCase().indexOf( term ) >= 0 ) {
return true;
} else false;
});
return res;
}
/*
** demo
** placeholder by : https://jsonplaceholder.typicode.com/
*/
elem( "#search" ).addEventListener("click", () => {
let url = "https://jsonplaceholder.typicode.com/posts";
fetch(url)
.then(res => res.json())
.then(data => {
//console.log(data); 100 result
let str = elem( "#input" ).value.toLowerCase();// caseSensitive => elem( "#input" ).value;
let res = filterByValue( data, str, "title" );
//view console
console.log( res );
elem( "#info" ).innerHTML = res.length + " found [view => console browser]"
})
.catch(error => {
console.error(error);
});
});