web-dev-qa-db-ja.com

Javascript:sessionStorageからすべてのキーを取得しますか?

SessionStorage(またはlocalStorage)に保存したすべてのキー/オブジェクトを取得することはできませんか?

私がした場合sessionStorage.name = 'John'およびsessionStorage.city = 'New York'、キーnamecityを示すリストを取得する方法はありませんか?

6
TheStoryCoder

キーを示すリストを取得するにはnameおよびcity

Object.keys()関数を使用します:

sessionStorage.name = 'John';
sessionStorage.city = 'New York';

console.log(Object.keys(sessionStorage));
9
RomanPerekhrest

Object.keys()およびreduce()を使用できます。

var obj = Object.keys(localStorage).reduce(function(obj, key) {
   obj[key] = localStorage.getItem(key);
   return obj
}, {});

console.log(obj)
1
244boy

IE9以下をサポートする必要がない場合(または、 Object.keys()Array。prototype.map()の組み合わせを使用できるよりもPolyfillsを使用して満足している場合) 次のように:

_Object.keys(localStorage).map(function(c,i,a){
  // do whatever
});
_

Object.keys()は、渡されたオブジェクトの列挙可能な値のarrayを返しますが、のプロパティを介して列挙しないという追加の利点もあります。そのプロトタイプチェーン。

次に、この返された配列に対してArray.prototype.map()を使用して操作を実行できます。

1
Pineda