簡體   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