首页 > 解决方案 > 如何更新 localStorage 中的 JSON 值?

问题描述

在 localStorage 中,键“counters”包含 JSON 和一个对象,其字段是计数器的名称,值是计数器的数值。incrementCounter 函数,计数器名称 counterName 作为输入的第一个参数传递给该函数。如何将 counterName 计数器增加 1 并更新 localStorage 中的数据?

我的代码:

function incrementCounter(counterName){
  let counters = JSON.parse(localStorage.counters);
  let values = Object.entries(counters);
  for(let [counterName, value] of values){
    return (`${counterName}: ${value+1}`);
  }
  localStorage.setItem("counters", JSON.stringify(values);
}

标签: javascript

解决方案


我猜你正在寻找这样的东西:

  1. 从本地存储中获取计数器对象
  2. 使用 counterName 更新 counter 属性
  3. 如果不存在,则将值设置为 1
  4. 保存回本地存储

.

function incrementCounter(counterName){
  const counters = JSON.parse(localStorage.getItem('counters') || '{}');
  counters[counterName] = (counters[counterName] || 0) + 1;
  localStorage.setItem('counters', JSON.stringify(counters));
}

例子


推荐阅读