您的位置:首页 > Web前端 > JavaScript

奋斗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"]

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: