奋斗30天Javascript之ECMAScript 6 入门之entries(),keys()和values()(part23)
2019-03-28 16:26
183 查看
轉自阮一峰老師《ECMAScript 6 入门》
entries()
定义和用法
entries() 方法返回一个数组的迭代对象,该对象包含数组的键值对 (key/value)。
迭代对象中数组的索引值作为 key, 数组元素作为 value。
语法
[code]array.entries()
[code]<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>菜鸟教程(runoob.com)</title> </head> <body> <h1>Array entries()</h1> <p>从数组中创建一个可迭代的对象。</p> <p>迭代对象的每个实体来自数组对应的元素。</p> <p id="demo1"></p> <p id="demo2"></p> <p id="demo3"></p> <p><strong>注意:</strong> IE11 及其更早的浏览器版本不支持 entries 方法。</p> <script> var fruits = ["Banana", "Orange", "Apple", "Mango"]; var x = fruits.entries(); document.getElementById("demo1").innerHTML = x.next().value; document.getElementById("demo2").innerHTML = x.next().value; document.getElementById("demo3").innerHTML = x.next().value; </script> </body> </html>
結果為:
栗子二:如果不使用for...of
循环,可以手动调用遍历器对象的next
方法,进行遍历。
[code]let letter = ['a', 'b', 'c']; let entries = letter.entries(); console.log(entries.next().value); // [0, 'a'] console.log(entries.next().value); // [1, 'b'] console.log(entries.next().value); // [2, 'c']
栗子三:
[code]for (let [index, elem] of ['a', 'b'].entries()) { console.log(index, elem); } // 0 "a" // 1 "b" // 数组含空位 console.log([...[,'a'].entries()]); // [[0, undefined], [1, "a"]]
keys()
定义和用法
keys() 方法用于从数组创建一个包含数组键的可迭代对象。
如果对象是数组返回 true,否则返回 false。
语法
[code]array.keys()
栗子:
[code]<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>菜鸟教程(runoob.com)</title> </head> <body> <h1>Array keys()</h1> <p>从数组中创建一个可迭代的对象,该对象包含数组的键。</p> <p id="demo1"></p> <p id="demo2"></p> <p id="demo3"></p> <p><strong>注意:</strong> IE11 及其更早的浏览器版本不支持 keys 方法。</p> <script> var fruits = ["Banana", "Orange", "Apple", "Mango"]; var x = fruits.keys(); document.getElementById("demo1").innerHTML = x.next().value; document.getElementById("demo2").innerHTML = x.next().value; document.getElementById("demo3").innerHTML = x.next().value; </script> </body> </html>
結果為:
栗子二:
[code]for (let index of ['a', 'b'].keys()) { console.log(index); } // 0 // 1 // 数组含空位 console.log([...[,'a'].keys()]); // [0, 1]
values()
定義:
values()是对键值的遍历
[code]for (let elem of ['a', 'b'].values()) { console.log(elem); } // 'a' // 'b' // 数组含空位 console.log([...[,'a'].values()]); // [undefined, "a"]
相关文章推荐
- 奋斗30天Javascript之ECMAScript 6 入门之字符串的扩展(part24)
- ES6-对象的扩展-Object.keys(),Object.values(),Object.entries()
- ES6-数组的扩展-数组实例的entries(),keys()和values()
- Dynamically creating keys/values in JavaScript associative array
- js中Object的keys()方法和values()方法还有entries()方法
- ES6的数组扩展( entries(),keys(),values() )
- 奋斗30天Javascript之DOM事件模型(Part27)
- es6数组之entries(),keys()和values()
- 数组的实例---数组的entries(),keys(),和values() ,includes()
- es6 Object.keys(),Object.values(),Object.entries()
- es6 数组实例的 entries() , keys() 和 values()
- [js高手之路] es6系列教程 - 迭代器,生成器,for...of,entries,values,keys等详解
- 数组实例的entries(),keys() 和 values()方法
- 4000 es6笔记·····entries(),keys(),values()
- keys,values,entries(获取对象或数组的值或索引)
- 奋斗30天Javascript之addEventListener() 方法(part26)
- es6 entries(),keys() 和 values()
- UMLOG: (ERROR) Umeng event's keys and values must be string ,key's max length 128 and value's max le
- JavaScript入门(七)
- JavaScript教程--从入门到精通