使用 localStorage.getItem() 获取不同属性的值?

Get the value of differents attributes with localStorage.getItem()?

我正在尝试创建一个小应用程序,我需要存储一些数据。 我这样存储它们:

localStorage.setItem(taskID, taskTitle, taskTotal, taskActual, taskProgress);

taskID taskTitle 等是我从表格中获得的值)

所以这实际上很好用,我只有一个问题: 我可以使用以下方法轻松检索 taskID

for (i = 0; i < localStorage.length; i++) {
    var taskID = "task-" + i;
};

但我怎样才能检索到其他值?就像我想检索 taskActual 值一样,我怎样才能轻松做到这一点?

事情不是这样的。您的代码在键 taskID 下设置值 taskTitle,其余参数将被丢弃。然后你只能使用 localStorage.getItem( taskID ).

检索 taskTitle

如果要存储更多属性,则需要存储多个项目,例如:

var taskID = 'task-1';
localStorage.setItem(taskID +'-title', taskTitle);
localStorage.setItem(taskID +'-total', taskTotal);
// etc
// to retrieve:
var title = localStorage.getItem('task-1-title');

或存储序列化的 JSON:

var taskId = 'task-1', taskData = { title : 'task title', total : 'task total' /* etc.. */ };
// store
localStorage.setItem(taskID, JSON.stringify( taskData ) );
// retrieve
var task = JSON.parse( localStorage.getItem('task-1') );
// now you can use task.title, task.total etc

在本地存储中,您正在保存一个键和一个值。在这种情况下,您的 'keys' 是命名项,即 TaskId、taskTitle 等。您需要具有与键关联的相应值。例如:localStorage.setItem('taskId',1);在此示例中,如果您调用 localStorage.getItem('taskId'),结果将是 1,因为它是对应的值。