繁体   English   中英

如何遍历存储在本地存储 JavaScript 中的数组?

[英]How to iterate through an array stored in Local Storage JavaScript?

在此应用程序中,我以 HTML 形式从用户那里获取此信息: var orderName, trackingNumber, price用户正在动态更新这些信息。 然后我将它们存储在一个数组中,将其转换为 json 格式,并将 orderName 变量(用户之前提供的)作为本地存储键,

    var myArray = [];
    myArray.push(orderName, trackingNumber,price);

    var JsonOrder = JSON.stringify(myArray );
    localStorage.setItem(orderName,JsonOrder );

现在我想显示所有订单及其信息。 一页列出了所有订单,并且 orderName 应该是一个 HYPERLINK,它将用户带到一个页面,其中包含有关该订单的信息。

这是我正在执行的遍历数组的操作:

 var savedOrders = JSON.parse(localStorage.getItem('orderName'));
 var orderName;
 var trackingNumber;
 var price;


 for (var key in savedOrders ) {

  orderName  = savedOrders[key][0];
  trackingNumber = savedOrders[key][1];
  price = savedOrders[key][2];


 }

这不工作?

简单地做


let JsonOrder = JSON.stringify( [orderName, trackingNumber, price] );
localStorage.setItem('someName',JsonOrder );

//---
let orderName, trackingNumber, price;
[orderName, trackingNumber, price] = JSON.parse(localStorage.getItem('someName'));

我在这里找到了答案:


// Get the existing data
var existing = localStorage.getItem('myFavoriteSandwich');

// If no existing data, create an array
// Otherwise, convert the localStorage string to an array
existing = existing ? existing.split(',') : [];

// Add new data to localStorage Array
existing.push('tuna');

// Save back to localStorage
localStorage.setItem('myFavoriteSandwich', existing.toString());

来自https://gomakethings.com/how-to-update-localstorage-with-vanilla-javascript/

我认为有一种更好的方法来使用拆分,因为如果用户输入 [] 或作为他们的输入怎么办?但到目前为止,这并不是一个好方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM