jquery - Checking properties of an object in an array -
in javascript, how best way code way check if value exists in array of data?
here have:
var html = []; html.push({ key: "/1/1.html", value: "html 1 data" }); if(doeskeyexist(html, "/1/1.html")) { alert(getvalue(html, "/1/1.html")); } function doeskeyexist(arr, key) { $.each(arr, function (index, data) { if(data.key === key) return true; }); return false; } function getvalue(arr, key) { $.each(arr, function (index, data) { if(data.key === key) return data.value; }); } the above code not alert value of "html 1 data", , no error shown in console.
may please have above code?
thanks
the issue because return statements inside $.each blocks returning anonymous functions not doeskeyexist() , getvalue() functions. need change logic slightly:
var html = []; html.push({ key: "/1/1.html", value: "html 1 data" }); if (doeskeyexist(html, "/1/1.html")) { alert(getvalue(html, "/1/1.html")); } function doeskeyexist(arr, key) { var result = false; $.each(arr, function (index, data) { if (data.key === key) { result = true; return; // stop loop } }); return result; } function getvalue(arr, key) { var result = ''; $.each(arr, function (index, data) { if (data.key === key) { result = data.value; return; // stop loop } }); return result; } <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
Comments
Post a Comment