SessionStorage(またはlocalStorage)に保存したすべてのキー/オブジェクトを取得することはできませんか?
私がした場合sessionStorage.name = 'John'
およびsessionStorage.city = 'New York'
、キーname
とcity
を示すリストを取得する方法はありませんか?
キーを示すリストを取得するにはnameおよびcity
Object.keys()
関数を使用します:
sessionStorage.name = 'John';
sessionStorage.city = 'New York';
console.log(Object.keys(sessionStorage));
Object.keys()
およびreduce()
を使用できます。
var obj = Object.keys(localStorage).reduce(function(obj, key) {
obj[key] = localStorage.getItem(key);
return obj
}, {});
console.log(obj)
IE9以下をサポートする必要がない場合(または、 Object.keys() と Array。prototype.map()の組み合わせを使用できるよりもPolyfillsを使用して満足している場合) 次のように:
_Object.keys(localStorage).map(function(c,i,a){
// do whatever
});
_
Object.keys()
は、渡されたオブジェクトの列挙可能な値のarrayを返しますが、のプロパティを介して列挙しないという追加の利点もあります。そのプロトタイプチェーン。
次に、この返された配列に対してArray.prototype.map()
を使用して操作を実行できます。