javascript - 从 localStorage 对数组运行 for 循环

标签 javascript jquery arrays for-loop

我正在 localStorage 中创建和存储一个数组,我想使用一个 for 循环将数组解析为单独的 div在一个容器内。到目前为止,这是我所拥有的:

var arr = ['item 1', 'item 2', 'item 3'];
window.localStorage.setItem('myArr', JSON.stringify(arr));

function populateContainer() {
  var newArr = window.localStorage.getItem('myArr');
  $('.container').html('');
  
  for (var i = 0, len = newArr.length; i < len; i++) {
    $('.container').append('<div>' + newArr[i] + '</div>');
  }
}
populateContainer();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="container"></div>

不幸的是,这样做是为数组项的每个字符创建一个单独的 div,所以我最终得到 18 个 div,每个字符一个字符,而不是3 个包含 3 个数组项的 divs。抱歉,该代码段无法正常工作,显然 SO 不支持 localStorage

最佳答案

您正确地将 JSON 存储在 localStorage 中,但是您还需要在检索它时将其parse() 返回:

var arr = JSON.parse(window.localStorage.getItem('myArr'));

Working example

关于javascript - 从 localStorage 对数组运行 for 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51047276/

相关文章:

Python:折线周围的坐标框

javascript - CSS和Javascript之间的顺序是什么

javascript - 从 Firebase 存储返回下载 URL 的函数

asp.net-mvc-3 - MVC 3 + $.ajax - 响应似乎正在缓存部分 View 的输出

javascript - 无法从 javascript 中的原型(prototype)访问构造函数的值?

Javascript 对象数组转换成字符串?

javascript - 无法让引导动画在滑动窗口中的 div 上工作

Javascript:通过 ID 设置/获取元素

javascript - 使用 jQuery 切换根据选中的复选框隐藏/显示表单提交按钮 - 如何设置默认情况下关闭的提交按钮?

Javascript:滚动时从一个 div 滚动到另一个?