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 중국어 웹사이트의 기타 관련 기사를 참조하세요!