如何遍历localStorage值

jef*_*f64 4 javascript local-storage reactjs

我正在创建一个用配方名称和成分编写的React应用程序,它们将以列表形式显示在创建的每个配方的页面上。我打算使用.map创建列表项,但是我需要一个数组来使用它,而localStorage不是数组(我仍然相信)。是否可以将localStorage中的每个密钥传输到阵列?

每次您单击“添加配方”按钮时,localStorage都会添加一个“配方名称”键以及一个用于订购的数字。该值是配方本身。我只想将食谱添加到.map数组中。

Mas*_*Bob 5

尝试使用Object.keys(localStorage)。当您请求密钥时

var arrayOfKeys = Object.keys(localStorage);
Run Code Online (Sandbox Code Playgroud)

那样简单!那会返回一个键数组。现在,如果您需要这些值:

var arrayOfValues = Object.values(localStorage);
Run Code Online (Sandbox Code Playgroud)

它返回一个数组。

请注意,这Object.values是实验性的,因此可以选择:

var arrayOfValues = [];
for(var i in localStorage){
    if(localStorage.hasOwnProperty(i)){
        arrayOfValues.push(localStorage[i]);
    }
}
Run Code Online (Sandbox Code Playgroud)