【问题标题】:JS LocalStorage - Why am i getting extra values with for in loopJS LocalStorage - 为什么我在循环中获得额外的值
【发布时间】:2022-12-18 23:42:51
【问题描述】:

我正在尝试使用 js 制作一个基本的笔记应用程序,我已经将笔记存储在本地存储中,并且我正在尝试使用 for in 循环打印这些笔记,一切都很好,但我不知道为什么我会得到额外的值,如长度、getItem、键等谁能帮忙

我的代码

(function () {
for (key in localStorage) {
    let notes = document.getElementById("notes")
    let value = localStorage.getItem(key)
    notes.innerHTML = notes.innerHTML + `${key}: ${value} <br>`
}
})();

【问题讨论】:

    标签: javascript


    【解决方案1】:

    localStorage 是一个具有属性和方法的对象。您正在循环执行 for of 循环中的所有这些项目。尝试使用 Object.keys(localStorage).forEach(item =&gt; ...) 获取实际值

    【讨论】:

      【解决方案2】:

      localStorage 包含类似于 JS 对象的键/值对,具有一些内置函数,例如 setItemgetItem。为了遍历 localStorage 中的所有内容,您必须像使用 JS 对象一样进行操作。这是一种方法。

       for (const [key, value] of Object.entries(localStorage)) {
         console.log(key, value);
       }
      

      这将记录保存在 localStorage 中的每个项目的键和值

      【讨论】:

        猜你喜欢
        • 2021-08-17
        • 1970-01-01
        • 1970-01-01
        • 2013-07-24
        • 1970-01-01
        • 2015-06-20
        • 2021-06-23
        • 2011-02-24
        • 1970-01-01
        相关资源
        最近更新 更多