Issues pushing an object to array of objects in localStorage
I am building an app relying solely on Model and Storage on the client. I am getting an error message stating that "push()" is not a function when I try to insert an object into an array of objects stored in localStorage. I have used the following JS as I have seen in other responses on the forum:
function newTab(item, varName) {
var array = JSON.parse(localStorage.getItem(varName));
if (array == null) {
array = new Array();
}
array.push(item);
localStorage.setItem(varName, JSON.stringify(array));
}
With:
var tab = {};
tabName = Apperyio("tabNameInput").val();
members = Apperyio.storage.AddMembers.get();
newTab(tab,'tabs');
sessionStorage.clear();
Also, I have a similar piece of code which appears to be working but is fundamentally the same. The main difference is that it is a string being pushed into an array, but the "push()" function is recognised:
function save(item, varName) {
var arr = JSON.parse(sessionStorage.getItem(varName));
if (arr == null) {
arr = new Array();
}
arr.push(item);
sessionStorage.setItem(varName, JSON.stringify(arr));
}
function myload(varName) {
var arr = JSON.parse(sessionStorage.getItem(varName));
if (arr == null) {
arr = new Array();
}
return arr;
}
With:
save(Apperyio('MemberInput').val(), 'AddMembers');
setSelectMenuOptions(Apperyio('memberList'), myload('AddMembers'));
Apperyio("MemberInput").val("");
Please can you check what I am doing incorrectly?