JavaScript如何遍历数组

JavaScript如何遍历数组,很多时候,我们需要遍历数组中的所有项,依次在每一个元素上执行相同的过程。

很多的循环也可以用来遍历数组内容,但是这里仅限于讨论那些更特定于数组的一些技术。

使用forEach()

数组方法forEach()接受一个函数作为参数,并且将该函数依次应用于数组中的每一个元素。如下是一个示例:

var myArray = [2, 3, 4, 5, 6];
function cube(x) {
    console.log(x*x*x);
}
myArray.forEach(cube);

执行数组的forEach()方法,将把cube()函数依次应用于每一个元素,把结果显示到JavaScript控制台。结果如图所示。

JavaScript如何遍历数组

使用map()

还有另一个方便的方法map(),乍看上去它和forEach()方法很相似,但是二者之间有一个显著的区别。

forEach()方法实际上并不返回任何值,它只是在数组中的每一个元素之上调用一个特定的函数,就像前面的示例那样。允许这个函数修改最初的数组中的值,如果这个函数就是这么编写的话。

map()方法也会类似地在数组中的每一个元素上调用一个指定的函数,但是map()返回和最初的数组具有相同大小的一个新数组。

var myArray = [2, 3, 4, 5, 6];
function cube(x) {
    return (x*x*x);
}
var newArray = myArray.map(cube); // newArray = [8, 27, 64, 125, 216]

map()将总是返回一个新的数组。意识到这一点很重要,在想要让最初的数组保持不变时,这一点通常很有用。

使用for-of访问数组

除了我们在稍后各章所学习的循环之外,JavaScript还有一个名为for-of的结构,专门用来遍历诸如数组这样的结构。其语法非常简单:

for (var y of arr1) {
    ... do something ...
}

在这个示例中,数组arr1中存储的值依次赋值给变量y,然后由花括号中的语句处理变量y。让我们来看一个示例,它使用和前面相同的数组和函数:

var myArray = [2, 3, 4, 5, 6];
function cube(x) {
    console.log(x*x*x);
}
for (var y of myArray) {
    cube(y);
}

继续前进,并且在JavaScript控制台中尝试它,应该会得到和上图所示相似的结果。

酷客网相关文章:

赞(0)

评论 抢沙发

评论前必须登录!