JavaScript 遍历数组
本教程说明了如何遍历 JavaScript 中的数组。我们可以使用 Vanilla JavaScript 中的传统方法(例如 for
循环和 while
循环)或使用 ES5,ES6 引入的较新方法(例如 forEach
、for ... of
、for ... in
)来执行此操作以及许多其他方法,具体取决于我们的用例和代码的速度/效率。
在 JavaScript 中使用 for
循环来循环遍历数组
传统的 for
循环类似于其他语言(例如 C++,Java 等)中的 for
循环。它包含 3 个部分:
- 变量/迭代器的初始化在执行 for 循环之前执行。
- 每次执行循环之前要检查的条件。
- 循环执行后每次执行的步骤。
const arr = [1, 2, 3, 4, 5, 6];
var length = arr.length;
for (var i = 0; i < length; i++) {
console.log(arr[i]);
}
输出:
1
2
3
4
5
6
我们使用迭代器 i
,并使用 for
循环遍历数组,该循环在每次迭代后将 i
增加 1
,并将其移动到 next
元素。
在 JavaScript 中使用 while
循环来循环遍历数组
while
循环非常简单,因为它具有在每次迭代后都要检查的条件,除非满足该条件,否则它将继续执行。
const arr = [1, 2, 3, 4, 5, 6];
var length = arr.length;
let i = 0;
while (i < length) {
console.log(arr[i]);
i++;
}
像 for
循环一样,我们采用迭代器 i
并将其增加直到数组的长度遍历所有元素。
在 JavaScript 中使用 do...while
循环循环遍历数组
do...while
循环与 while
循环相同,不同之处在于即使循环条件为 false
,它也至少执行一次。因此,在编写此循环时我们必须小心。
const arr = [1, 2, 3, 4, 5, 6];
var length = arr.length;
var i = 0;
do {
console.log(arr[i]);
i++;
} while (i < length);
在 JavaScript 中使用 forEach
循环循环遍历数组
ES5 引入了 forEach
作为迭代数组的新方法。forEach
接受一个函数作为参数,并为数组内存在的每个元素调用它。
const arr = [1, 2, 3, 4, 5, 6];
arr.forEach(item => console.log(item));
在这里,我们编写了一个箭头函数,以打印出传递给该函数的参数,并将该函数赋予 forEach
以遍历数组并打印该元素。
在 JavaScript 中使用 for...of
遍历数组
ES6 引入了可迭代对象的概念,并提供了 for ... of
,可用于迭代 Array 对象。
let arr = [1, 2, 3, 4, 5, 6];
for (const item of arr) {
console.log(item);
}
我们将其用作常规循环,但可以轻松地迭代各种各样的对象,而不仅仅是数组。
在 JavaScript 中使用 for...in
遍历数组
我们可以使用 for ... in
来迭代数组,但是不建议这样做,因为它会枚举对象的属性。它甚至枚举了数组元素之外的附加到 Array.prototype
的方法。
var arr = [1, 2, 3, 4, 5, 6];
for (var i in arr) {
console.log(arr[i]);
}
在 JavaScript 中使用 map
方法遍历数组
map
方法遍历数组,在每个元素上使用回调函数,然后返回一个新数组,即,它接受输入数组并将其映射到新数组,并由回调函数执行计算。
arr = [1, 2, 3, 4, 5, 6];
const square = (x) => {
return Math.pow(x, 2);
} mapped = arr.map(square);
console.log(arr);
console.log(mapped);
在这里,我们遍历了输入数组,并形成了一个在数组内部具有元素正方形的数组。
在 JavaScript 中使用 reduce
方法遍历数组
reduce
方法在数组上循环并调用 reducer
函数,以通过累加器函数存储数组计算的值。累加器是在所有迭代中都记住的变量,用于存储遍历数组的累加结果。
const arr = [1, 2, 3, 4];
const reducer = (accumulator, curr) => accumulator + curr;
console.log(arr.reduce(reducer));
在这里,我们遍历数组并求和一个累加器中的所有元素。
在 JavaScript 中使用 filter
方法遍历数组
filter
方法循环遍历数组并滤除满足特定给定条件的元素。
const fruits =
['apple', 'orange', 'pomegranete', 'banana', 'pear', 'blueberry'];
const result = fruits.filter(word => word.length > 6);
console.log(result);
在这里,我们遍历数组,检查给定的水果名称的长度是否大于 6。如果是,则将其包含在结果数组中,即,我们过滤掉所需的元素。
在 JavaScript 中使用 some
遍历数组
它用于遍历数组并检查数组中存在的至少一个元素是否满足给定条件。
array = [1, 2, 3, 4, 5, 6];
const under_three = x => x < 3;
console.log(array.some(under_three));
在这里,我们使用 some
来检查数组中是否存在小于 3
的元素。它返回布尔值 true
或 false
。
在 JavaScript 中使用 every
遍历的数组
它用于遍历数组,并检查数组内的所有元素是否满足给定条件。
array = [1, 2, 3, 4, 5, 6];
const under_three = x => x < 3;
console.log(array.every(under_three));
在这里,我们使用 every
来检查数组中存在的所有元素是否小于 3。它返回布尔值 true
或 false
。
相关文章
JavaScript 中的整数除法
发布时间:2024/03/17 浏览次数:157 分类:JavaScript
-
我们可以使用 Math 库和 JavaScript 中的按位运算符来获得除法的商和余数。
在 JavaScript 中退出 for 循环
发布时间:2024/03/17 浏览次数:137 分类:JavaScript
-
在本文中,我们将通过不同的示例学习如何使用 JavaScript 代码停止和中断 for 循环的执行。
在 JavaScript 的 for 循环中以 2 为单位递增
发布时间:2024/03/17 浏览次数:89 分类:JavaScript
-
在今天的文章中,我们将学习如何在 JavaScript 的 for 循环中增量为 2。
JavaScript 中的无限循环
发布时间:2024/03/17 浏览次数:140 分类:JavaScript
-
在今天的文章中,我们将了解不同类型的循环以及什么是 JavaScript 中的无限循环。
JavaScript for...in VS for...of 循环
发布时间:2024/03/17 浏览次数:195 分类:JavaScript
-
本教程介绍 JavaScript for..in 和 for..of 循环之间的区别。它还强调了在哪里使用 for..in 或 for..of 循环。
JavaScript 中的 setInterval 循环
发布时间:2024/03/17 浏览次数:108 分类:JavaScript
-
本文将教我们在 JavaScript 中使用 setinterval 循环。
在 JavaScript 中跟踪鼠标位置
发布时间:2024/03/16 浏览次数:188 分类:JavaScript
-
在本教程中,我们将了解如何在 JavaScript 中使用鼠标事件跟踪鼠标位置。
在 JavaScript 中将 Base64 转换为图像
发布时间:2024/03/16 浏览次数:77 分类:JavaScript
-
将 Base64 字符串转换为图像的最简单方法是调用启动图像构造函数并将 base64 字符串作为图像源的函数。此解决方案需要最少的代码行和努力来获得更好的结果。此外,还有一些复杂的实