【问题标题】:local storage in browser not incrementing?浏览器中的本地存储不增加?
【发布时间】:2021-12-16 15:16:47
【问题描述】:

我正在尝试构建一个日期预订功能,该功能会根据所选日期和与该预订相关的费用返回预订的总费用。

我已将日期转换为毫秒,并且正在循环访问分配给成本的可能日期范围(例如,12 月 15 日 - 1 月 15 日 = 每晚 220 美元)。

然后我想将日期落在特定日期范围内的次数存储在本地存储中,这样我就可以在将日期落在日期范围内的次数乘以该日期的次数结束时进行数学运算成本。

我的问题是我不确定我是否正确地增加了本地存储中的计数,如下面的屏幕截图所示

for (let i = 0; i < daysDifference; i++) {  //for loop to go through each day
    let dayDot = startTime + (i * 86400000); // getting the range for each day of the booking in millisecs
    localStorage.setItem("dayscost0", "0") //setting day count in each range to zero in local storage
    if (dayDot <= 1639746000000 && dayDot >= 1634648400000) { // setting range for price blocks
      let cost = (parseInt(localStorage.getItem('dayscost0')) + 1); //incrementing by one each time a value fits the range
      localStorage.setItem("dayscost0", cost.toString()) //adding the value to local storage
      console.log('dayscost0') 
    }

browser Console image

【问题讨论】:

  • 你为什么要在一个缓慢的、只有字符串的本地存储项而不是本地整数变量中这样做?您仍然可以在循环之后将该值存储在本地存储中。
  • 您在循环的每次迭代中将值重置为0。在循环之前只进行一次初始化。
  • 是的,不要使用 localStorage(或者只是在循环之后将结果放在那里。)也不要假设所有的日子都是 86400000 长。

标签: javascript google-chrome browser


【解决方案1】:

问题应该是每次迭代时总是重新初始化localStorage.setItem("dayscost0", "0")。尝试将其移出 for 循环。

localStorage.setItem("dayscost0", "0") //setting day count in each range to zero in local storage
for (let i = 0; i < daysDifference; i++) {  //for loop to go through each day
    let dayDot = startTime + (i * 86400000); // getting the range for each day of the booking in millisecs
    if (dayDot <= 1639746000000 && dayDot >= 1634648400000) { // setting range for price blocks
      let cost = (parseInt(localStorage.getItem('dayscost0')) + 1); //incrementing by one each time a value fits the range
      localStorage.setItem("dayscost0", cost.toString()) //adding the value to local storage
      console.log('dayscost0') 
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-09
    • 2020-12-31
    • 2014-02-05
    • 2014-12-26
    相关资源
    最近更新 更多