>웹 프론트엔드 >JS 튜토리얼 >반복 중에 JavaScript에서 배열 요소를 수정할 수 있습니까?

반복 중에 JavaScript에서 배열 요소를 수정할 수 있습니까?

Patricia Arquette
Patricia Arquette원래의
2024-11-09 11:06:02192검색

Can You Modify Array Elements in JavaScript During Iteration?

반복 중 배열 요소 변경 가능

JavaScript에서 배열은 변경할 수 없습니다. 즉, 루프 반복 내에서 해당 요소를 직접 수정할 수 없습니다.

var arr = ["one", "two", "three"];

arr.forEach(function(part) {
  part = "four";
  return "four";
})

alert(arr);

그러나 이 코드는 부분이 배열을 직접 수정하지 않는 콜백 함수 내의 지역 변수이기 때문에 여전히 ["one", "two", " three"]를 출력합니다.

인덱스로 배열 수정 및 이

반복 중에 배열 요소를 수정하려면 요소의 인덱스나 this 객체를 사용하여 요소에 액세스하세요.

// Using index
arr.forEach(function(part, index, theArray) {
  theArray[index] = "hello world";
});

// Using 'this'
arr.forEach(function(part, index) {
  this[index] = "hello world";
}, arr);

두 번째 예에서 arr은 콜백 함수의 this 값으로 지정됩니다. . 따라서 this[index]는 배열 요소를 나타냅니다.

대체 배열 조작 함수

forEach 대신에 보다 직접적인 방법으로 배열을 수정하는 다른 함수를 사용하는 것이 좋습니다.

  • filter: 조건에 맞는 요소로 새 배열을 만듭니다.
  • map: 기존 배열의 각 요소를 변환하여 새 배열을 만듭니다.
  • reduce: 요소를 단일 값으로 결합합니다.

이러한 함수는 반복 중에 요소를 직접 수정할 필요 없이 배열을 조작하기 위한 효율적인 메커니즘을 제공합니다.

위 내용은 반복 중에 JavaScript에서 배열 요소를 수정할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.