revision:
The keys() method returns a new array iterator object that contains the keys for each index in the array.
The keys() method does not change the original array.
array.keys()
Parameters: none
const array1 = ['a', 'b', 'c']; const iterator = array1.keys(); for (const key of iterator) { console.log(key); } // Expected output: 0 // Expected output: 1 // Expected output: 2
The Object.keys() static method returns an array of a given object's own enumerable string-keyed property names.
Object.keys(obj)
Parameters:
obj : required. An object.
const object1 = { a: 'somestring', b: 42, c: false }; console.log(Object.keys(object1)); // Expected output: Array ["a", "b", "c"]
<div> <p id="key-1"></p> <p id="key-2"></p> <p id="key-3"></p> </div> <script> const arr = ["a", , "c"]; const sparseKeys = Object.keys(arr); const denseKeys = [...arr.keys()]; console.log(sparseKeys); // ['0', '2'] console.log(denseKeys); // [0, 1, 2] document.getElementById("key-1").innerHTML = "arrary: " + arr; document.getElementById("key-2").innerHTML = "sparseKeys: " + sparseKeys; document.getElementById("key-3").innerHTML = "denseKeys: " + denseKeys; </script>
keys() returns an Array Iterator object with the keys of an array:
<div> <p>keys() returns an Array Iterator object with the keys of an array:</p> <p id="key-4"></p> </div> <script> const fruits = ["Banana", "Orange", "Apple", "Mango"]; const keys = fruits.keys(); let text = ""; for (let x of keys) { text += x + "<br>"; } document.getElementById("key-4").innerHTML = "keys of the array : " + "<br>" + text; </script>
Object.keys() returns an Array Iterator object with the keys of an object:
<div> <p>Object.keys() returns an Array Iterator object with the keys of an object:</p> <p id="key-5"></p> </div> <script> const fruits1 = ["Banana", "Orange", "Apple", "Mango"]; const keys1= Object.keys(fruits1); let text1 = ""; for (let x of keys1) { text1 += x + "<br>"; } document.getElementById("key-5").innerHTML = "keys of the array : " + "<br>" + text1; </script>
Object.keys() returns an Array Iterator object with the keys of an object:
<div> <p>Object.keys() returns an Array Iterator object with the keys of an object:</p> <p id="key-6"></p> <p id="key-7"></p> <p id="key-8"></p> <p id="key-9"></p> </div> <script> // Simple array const arr1 = ["a", "b", "c"]; console.log(Object.keys(arr1)); // ['0', '1', '2'] document.getElementById("key-6").innerHTML = "object keys : " + Object.keys(arr1); // Array-like object const obj = { 0: "a", 1: "b", 2: "c" }; console.log(Object.keys(obj)); // ['0', '1', '2'] document.getElementById("key-7").innerHTML = "object keys : " + Object.keys(obj); // Array-like object with random key ordering const anObj = { 100: "a", 2: "b", 7: "c" }; console.log(Object.keys(anObj)); // ['2', '7', '100'] document.getElementById("key-8").innerHTML = "object keys : " + Object.keys(anObj); // getFoo is a non-enumerable property const myObj = Object.create( {}, { getFoo: { value() { return this.foo; }, }, }, ); myObj.foo = 1; console.log(Object.keys(myObj)); // ['foo'] document.getElementById("key-8").innerHTML = "object keys : " + Object.keys(myObj); </script>