Javascript 返回localStorage阵列中的最后一个元素
我很难从localStorage中的数组中获取任何精确的值或名称 这是我的本地存储: 我要做的是检索最后一项,并将变量设置为last entry ReportReference中第一项的值。原因是要检查其中是否已经存在一个具有相同ReportReference值的项,以便不保存我正在保存的表单的另一个副本,只需再次更新字段以保存回localStorage 下面的方法是一个save for later按钮,它只将值保存到数组中Javascript 返回localStorage阵列中的最后一个元素,javascript,html,Javascript,Html,我很难从localStorage中的数组中获取任何精确的值或名称 这是我的本地存储: 我要做的是检索最后一项,并将变量设置为last entry ReportReference中第一项的值。原因是要检查其中是否已经存在一个具有相同ReportReference值的项,以便不保存我正在保存的表单的另一个副本,只需再次更新字段以保存回localStorage 下面的方法是一个save for later按钮,它只将值保存到数组中 // Add to local Storage $('.SaveSt
// Add to local Storage
$('.SaveStore').on('click', addStorage);
function addStorage(e) {
e.preventDefault();
var keyIndex = localStore.getValue(REPORTS_KEY);
console.log(keyIndex);
for (var i = 0; i < keyIndex.length; i++) {
//console.log(keyIndex[i]);
for (var key in keyIndex[i]) {
//console.log(keyIndex[i][key]);
var test = keyIndex[i][key];
console.log(test.value);
}
}
var form = $('form').serializeArray();
//console.log(form);
var reports = localStore.getValue(REPORTS_KEY);
if (reports == null) {
reports = [];
}
reports.push(form);
localStore.setValue(REPORTS_KEY, reports);
clearFormElements();
}
我看了这篇文章,试着照他们说的做,但没有任何运气:
因为我无法检索要传递给函数的项。请尝试以下操作:
for (var i = 0, formLen = keyIndex.length; i < formLen; i++) {
var serializedForm = keyIndex[i];
for (var j = 0, fieldsLen = serializedForm.length; j < fieldsLen; j++) {
var field = serializedForm[j];
if (field.name == "ReportReference" && field.value == "bbb") {
console.log(keyIndex[i][j]);
}
}
}
谢谢,它帮助我获得数组中已经存在的任何值,然后我可以使用这些值做一些事情。
for (var i = 0, formLen = keyIndex.length; i < formLen; i++) {
var serializedForm = keyIndex[i];
for (var j = 0, fieldsLen = serializedForm.length; j < fieldsLen; j++) {
var field = serializedForm[j];
if (field.name == "ReportReference" && field.value == "bbb") {
console.log(keyIndex[i][j]);
}
}
}