Note: browser support for indexOf is limited, it is not supported in IE7-8.
Here is a demo Demo and below you can find the code again.
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script>
localStorage.clear();
var ary = [];
ary.push({ "Force": "Force Converter" })
ary.push({ "Power": "Power Converter" });
function contains(arr, k) {
var doesContain = false;
for (var i = 0, length = arr.length; i < length; i++) {
var item = arr[i];
if (item.hasOwnProperty(k)) {
doesContain = true;
break;
}
}
return doesContain;
}
if (localStorage.getItem("testObject") != null) {
alert("localstorage has item testobject");
//Parse the retrieved value into an array
ary = JSON.parse(localStorage.getItem('testObject'));
}
function setFavorite(k, v) {
var obj = {};
obj[k] = v;
var hasItem = contains(ary, k);
if (!hasItem) {
ary.push(obj);
// Put the object into storage
localStorage.setItem('testObject', JSON.stringify(ary));
}
// Retrieve the object from storage
var retrievedObject = localStorage.getItem('testObject');
// Parse the retrieved value into an array
var retrievedArray = JSON.parse(retrievedObject);
// clear the ouput first
$("#fab-id").html("");
//iterate over the array which contains key-value pairs
for (var i = 0; i < retrievedArray.length; i++) {
var item = retrievedArray[i];
var key = Object.keys(item)[0];
var value = item[key];
//----------BELOW CODE DOES NOT WORK PROPERLY----
$("#fab-id").append('<a>' + value + '</a><br/>');
}
}
</script>
</head>
<body>
<button id="btn">Click me!</button>
<button id="btn2">Add another item!</button>
<div id="fab-id"></div>
<script>
//adding a simple click event handler
document.getElementById("btn").addEventListener("click", function () {
//setFavorite("Power", "Power Converter");
//setFavorite("Power", "Power Converter");
setFavorite("propA", "X");
});
document.getElementById("btn2").addEventListener("click", function () {
//setFavorite("Power", "Power Converter");
//setFavorite("Power", "Power Converter");
setFavorite("xyz", "blabal");
});
</script>
</body>
</html>
vargument that it never uses?vin there for now does not makes diffrenceremoveFav(ary[0]), which is kinda not very helpful really...