在 JavaScript 中,forEach 方法允许您迭代数组的元素。但是,默认情况下,您无法在迭代回调函数中修改数组的值。
考虑以下示例:
var arr = ["one", "two", "three"]; arr.forEach(function(part) { part = "four"; return "four"; }); alert(arr); // Output: ["one", "two", "three"]
如您所见,数组 arr 在 forEach 之后保持不变环形。这是因为 forEach 回调函数只接收数组元素的副本,而不是对实际元素的引用。
要在迭代期间修改数组的值,您需要访问实际的元素。您可以通过向回调函数传递第三个参数来实现此目的,该参数是一个数组指针,如下所示:
arr.forEach(function(part, index, theArray) { theArray[index] = "hello world"; });
在此示例中,theArray 是数组指针。您可以使用它来访问和修改当前索引处的实际元素。
或者,您可以使用 forEach 方法的第二个参数来指定 this 值对于回调函数。这个值将是数组指针本身。
arr.forEach(function(part, index) { this[index] = "hello world"; }, arr); // Array must be passed as `this`
这两种方法都允许您在使用 forEach 方法迭代数组时修改数组的值。
以上是在 JavaScript 中使用'forEach”时可以修改数组值吗?的详细内容。更多信息请关注PHP中文网其他相关文章!