JavaScript 数组 values() 方法
values() 方法创建一个新的数组迭代器对象,该对象在每个数组索引处携带指定的值。我们可以通过循环或迭代器方法迭代数组元素。
语法
array.values();
参数
没有具体的参数。
返回值
它创建并返回一个新创建的数组迭代器对象。
JavaScript数组values()方法示例
让我们讨论一些示例以更好地理解。
示例1
这是一个使用for…of循环实现的示例。
<html>
<head> <h5> Javascript Array Methods </h5> </head>
<body>
<script>
var arr = ["John","Mary","Tom","Harry","Sheero"]; //Intializing array elements
var itr = arr.values(); //Using values() method.
document.write("The array elements are:<br>");
for (let x of itr) {
document.write("<br>"+x);
} //This iterates the array elements through its index value.
</script>
</body>
</html>
输出:
迭代后,数组的元素表示为:
示例2
使用for…of循环的另一种实现数组的values()方法。
<html>
<head> <h5> Javascript Array Methods </h5> </head>
<body>
<script>
const arr=["P","Q","R","S","T"]; //Initializing array elements.
const itr=arr.values();
document.write("The array elements are: <br>");
for(let x of itr)
{
document.write("<br>"+x);
} //This loop will iterate and print the array elements.
</script>
</body>
</html>
输出:
下面显示输出结果:
示例3
使用next()方法实现的示例。
<html>
<head> <h5> Javascript Array Methods </h5> </head>
<body>
<script>
var arr=["John","Tom","Sheero","Romy","Tomy"]; //Initialized array
var itr=arr.values();
document.write("The array elements are: <br>");
document.write("<br>"+itr.next().value);
document.write("<br>"+itr.next().value);
document.write("<br>"+itr.next().value);
document.write("<br>"+itr.next().value);
document.write("<br>"+itr.next().value);
</script>
</body>
</html>
输出:
注意:如果 next() 方法的使用超出了给定的数组长度,它将返回一个 ‘undefined’ 值。
我们通过一个示例来理解:
示例
<html>
<head> <h5> Javascript Array Methods </h5> </head>
<body>
<script>
var arr=["John","Tom","Sheero","Romy","Tomy"]; //Initialized array
var itr=arr.values();
document.write("The array elements are: <br>");
document.write("<br>"+itr.next().value); //returns value at index 0.
document.write("<br>"+itr.next().value); //returns value at index 1
document.write("<br>"+itr.next().value); //returns value at index 2
document.write("<br>"+itr.next().value); //returns value at index 3
document.write("<br>"+itr.next().value); //returns value at index 4
document.write("<br>"+itr.next().value); //returns undefined
</script>
</body>
</html>
结果:
显然,这个数组的大小是4,即arr[4]。但是next()方法被调用了5次。因此,最后一次调用next()返回了一个“undefined”的值。
注意:数组迭代器对象的值是数组地址,因此取决于数组中的值。