The key() method of the Storage interface, when passed a number n, returns the name of the nth key in the storage. The order of keys is user-agent defined, so you should not rely on it.
Syntax
var aKeyName = storage.key(key);
Parameters
- key
- An integer representing the number of the key you want to get the name of. This is a zero-based index.
Return value
A DOMString containing the name of the key.
Examples
The following function iterates over the local storage keys:
function forEachKey(callback) {
  for (var i = 0; i < localStorage.length; i++) {
    callback(localStorage.key(i));
  }
}
The following function iterates over the local storage keys and gets the value set for each key:
for(var i =0; i < localStorage.length; i++){
   console.log(localStorage.getItem(localStorage.key(i)));
}
Note: For a real world example, see our Web Storage Demo.
Specifications
| Specification | Status | Comment | 
|---|---|---|
| WHATWG HTML Living Standard The definition of 'Storage.key' in that specification. | Living Standard | 
Browser compatibility
| Feature | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) | 
|---|---|---|---|---|---|---|
| localStorage | 4 | (Yes) | 3.5 | 8 | 10.50 | 4 | 
| sessionStorage | 5 | ? | 2 | 8 | 10.50 | 4 | 
| Feature | Android | Edge | Firefox Mobile (Gecko) | IE Phone | Opera Mobile | Safari Mobile | 
|---|---|---|---|---|---|---|
| Basic support | 2.1 | (Yes) | ? | 8 | 11 | iOS 3.2 | 
All browsers have varying capacity levels for both localStorage and sessionStorage. Here is a detailed rundown of all the storage capacities for various browsers.
Note: since iOS 5.1, Safari Mobile stores localStorage data in the cache folder, which is subject to occasional clean up, at the behest of the OS, typically if space is short.