javascript - 如何解析 localStorage 对象并获取值
问题描述
我有以下localStorageData
物品和以下物品。根据需要,我可能会将任何对象(如recordId
, autoId
, simId
, )传递sessionId
给 localData.saveLocalStorageData({recordId});
那么在 main.js 文件中,我如何调用localStorageData
对象并解析recordId
or并将值分配给?autoId
simId
data
localStorage.js
let localStorageData = {};
function saveLocalStorageData ({recordId, autoId, simId, sessionId}) {
localStorageData = {
recordId:recordId,
autoId: autoId,
simId: simId,
sessionId : sessionId
}
return localStorageData
}
export { saveLocalStorageData };
记录.js
let localData = require("../../support/localStorage");
let text = $('#someId > span').text();
let ele = text.split("#");
let recordId = {};
recordId = ele;
const localStorageData = localData.saveLocalStorageData({recordId});
window.localStorage.setItem('localStorageData', JSON.stringify(localStorageData));
main.js
const moment = require('moment');
let data;
const today = moment().format('DD/MM/YYYY');
/* Below code snippet will find the columnPosition of the desired column in a table */
const columnPosition = $(`#RecordIdMain`)
.find(`th:has(a:contains("Record"))`)
.index();
if (value === 'localStorage') {
// how can I call the localStorageData object and parse the recordId or autoId or simId and assign the value to data ?
data = ???
} else if (value === 'date') {
data = today;
} else {
data = value;
}
解决方案
使用 localStorage 对象需要您先 JSON.parse() 它。
console.log({'loginStatus': JSON.parse(window.localStorage.getItem('loginStatus')).isAuthenticated})
您需要一个包含要检索的项目键的变量,并且它必须是一个字符串:
const key = 'someId' || 'autoId' ... // (some logic to determine the item key)
let data
fakeLocalStorageItem = {
"autoId": "123",
"simId": "aaa111",
"someId": "2bb2bcQQQ",
"recordId": "44342asd33423-234234"
}
// Convert fake json to imitate localStorage string format:
const stringJson = JSON.stringify(fakeLocalStorageItem)
// Convert it back to a js object
storedItem = JSON.parse(localStorage.getItem(stringJson))
if ((1 + 1) === 2) {
data = storedItem.key
} else if (value === 'date') {
data = today;
} else {
data = value;
}
推荐阅读
- android - 将github源代码编译成apk格式
- javascript - 在道具上收到的输入值不会改变
- c# - Azure Key Vault Connected Service Visual Studio SharedTokenCacheCredential 身份验证失败
- c# - C# Apache Spark orc 文件路径存在于 adls 上
- amazon-web-services - 此处不应出现“advanced_security_options”类型的块
- excel - 如何使用 VBA 复制 Excel 工作表中的行并将它们发送到 CSV?
- node.js - 队列消费者中的Nestjs Shell命令
- java - 如何计算getter中返回的值的总和?
- r - R规范化许多列
- python - 如何使用辅助 y 轴显示每个 matplotlib 子图的 x 轴值