在JavaScript中,有多种循环语句可用于遍历数组或对象,包括for
、for...in
、for...of
和forEach
。
1.for
循环:for
循环是最基本的循环结构,可以用于遍历数组和其他类数组对象。
const array = [1, 2, 3, 4]; for (let i = 0; i < array.length; i++) { console.log(array[i]); }
2.for...in
循环:for...in
循环主要用于遍历对象的属性,返回的是属性名。
const object = { a: 1, b: 2, c: 3 }; for (let key in object) { console.log(key, object[key]); }
3.for...of
循环:for...of
循环用于遍历可迭代对象(如数组、字符串等),返回的是元素的值。
const array = [1, 2, 3, 4]; for (let element of array) { console.log(element); }
4.forEach
方法:forEach
是数组对象自带的方法,用于遍历数组的每个元素,可以传入一个回调函数处理每个元素。
const array = [1, 2, 3, 4]; array.forEach(function(element) { console.log(element); });
需要注意的是,for...in
循环和forEach
方法不能直接用于遍历普通对象。如果要遍历普通对象的属性,可以使用Object.keys()
和Object.values()
等方法将其转换为可迭代对象后再进行遍历。
除了之前提到的for
、for...in
、for...of
和forEach
,还有map
循环、while
循环和do...while
循环。
5.map
循环:map
循环用于遍历数组,并返回一个新的数组,其中包含对每个元素进行处理后的结果。
const array = [1, 2, 3, 4]; const doubledArray = array.map(function(element) { return element * 2; }); console.log(doubledArray); // 输出:[2, 4, 6, 8]
5.
6.while
循环:while
循环会在给定条件为真(true)时重复执行代码块,只要条件保持为真,循环将一直执行。
let i = 0; while (i < 5) { console.log(i); i++; }
7.do...while
循环:do...while
循环与while
循环类似,不同之处在于循环体至少会执行一次,然后根据给定条件判断是否继续执行。
let i = 0; do { console.log(i); i++; } while (i < 5);
在使用while
循环和do...while
循环时,确保能够正确更新循环条件,以免造成无限循环。