首页前端开发正文

分别用命令式和声明式方法遍历数组

朱绪2021-11-04769JavaScript

假设有一个数组,我们想遍历它并把它打印到控制台。

用命令式方法遍历数组:

var arr = [1, 2, 3]
for(var i = 0; i < arr.length; i++) {
    console.log(arr[i]) // 打印 1 2 3
}

用命令式来解决问题,我们精确地告诉程序应该“如何”做。

在这个案例中,我们的任务是:打印数组的元素。

但是这个代码看起来我们像在告诉编译器该做什么。“获取数组长度,循环数组,用索引获取每一个数组元素”。

即,命令式编程——告诉编译器“如何”做。

而声明式编程中,我们要告诉编译器做“什么”,而非“如何”做。

“如何”做的部分被抽象到普通函数中(这些函数被称为高阶函数)。

我们可以用内置的forEach函数遍历数组并打印它,以下就是声明式方法遍历数组:

var arr = [1, 2, 3]
arr.forEach((item) => console.log(item)) // 打印 1 2 3

forEach是一个处理“如何”做的抽象函数,这种抽象函数可以让开发人员只需要关心手头的问题(做“什么”的部分)