遍历集合的控制流语句:foreach

在编程中,控制流语句是用于控制程序执行流程的重要工具。它们允许程序根据条件执行特定的代码块,从而实现决策制定、循环和分支等功能。本文将介绍foreach控制流语句,这是一种用于遍历一个或多个集合中元素的语句。

控制流语句通常包括决策制定语句(如switch-case、if、if-else)、循环语句(如for、while、do-while)以及分支语句(如return、break、continue、label)。foreach语句是其中一种,它在多种编程语言中得到支持。

foreach语句的一般语法如下:

for each item in collection: do something to item

JavaScript中,foreach用于遍历数组或对象(如Map或Set)。其语法如下:

Array.prototype.forEach(callback[, thisArg]); Map.prototype.forEach(callback[, thisArg]); Set.prototype.forEach(callback[, thisArg]);

1. Array.prototype.forEach()

该方法对数组的每个元素执行一次指定的回调函数。以下是一些示例:

示例1:

var arr = [1, 2, 3, 4, 5]; arr.forEach(function(val) { document.write(val + ' - '); }); // 输出: 1 - 2 - 3 - 4 - 5

示例2:

function getSquare(elem) { document.write((elem * elem) + ' - '); } var arr = [1, 2, 3, 4, 5]; arr.forEach(getSquare); // 输出: 1 - 4 - 9 - 16 - 25

示例3:

var testObj = { getSquare: function(elem) { document.write((elem * elem) + ' - '); } }; var arr = [1, 2, 3, 4, 5]; arr.forEach(testObj.getSquare, testObj); // 输出: 1 - 4 - 9 - 16 - 25

2. Map.prototype.forEach()

该方法对Map对象中的每个键/值对执行一次指定的回调函数。回调函数的语法如下:

function callbackfn(value, key, mapObj)

示例:

function assignVehicle(val, key, mapObj) { document.write('<b>' + key + '</b> has bought a new <b>' + val + '</b><br>'); } var map = new Map(); map.set('prava', 'Fiat'); map.set('Bob', 'Harley'); map.set('Maria', 'Audi'); map.forEach(assignVehicle); // 输出: // prava has bought a new Fiat // Bob has bought a new Harley // Maria has bought a new Audi

该方法对Set对象中的每个值执行一次指定的回调函数。以下是示例:

function checkValue(val) { document.write(val + ' - '); } var setObj = new Set(); setObj.add(1); setObj.add(2); setObj.add('prava'); setObj.add('Maria'); setObj.forEach(checkValue); // 输出: 1 - 2 - prava - Maria
沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485