array.map(): 더 나은 방법 🧐 ?
The method
map()
creates a new array with the values that get returned by calling the function provided tomap(anyFunctionHere)
on every element of an array.
map()
가 실행되는 배열의 이름은 호출 배열로 지정됩니다.일
이름이 뒤집힌 배열이 주어지면 원래 배열에서 이름의 위치는 같지만 이름이 뒤집힌(이해가 되어야 함) 새 배열을 만듭니다.
for-loop
를 사용하여 어떻게 해결할 수 있는지 살펴보겠습니다.const arrayOfNames = ['anhsirK', 'nosaJ', 'nolE', 'drawdE'];
let arrayOfReversedNames = []; // declaring an empty array to store results.
for (let nameIndex = 0; nameIndex < arrayOfNames.length; nameIndex = nameIndex + 1) {
// we can reverse a string in JavaScript with String.split("").reverse().join("")
const reversedFirstName = arrayOfNames[nameIndex].split('').reverse().join('');
arrayOfReversedNames.push(reversedFirstName);
}
// output: [ 'Krishna', 'Jason', 'Elon', 'Edward' ]
위의 예에서
arrayOfReversedNames
를 선언한 다음 계산된 역방향 이름을 해당 배열에 추가했습니다.map()
방법을 사용하여 동일한 문제를 해결할 차례입니다.const arrayOfNames = ['anhsirK', 'nosaJ', 'nolE', 'drawdE'];
// declaring an empty array to store results.
let arrayOfReversedNames = arrayOfNames.map((firstName) => {
return firstName.split("").reverse().join("")
});
// arrayOfReversedNames: [ 'Krishna', 'Jason', 'Elon', 'Edward' ]
인수
map()
와 함께 arrow function 을 firstName
로 전달합니다. firstName
는 호출 배열의 요소에 대한 각 반복에서 다른 값을 가집니다. 여기 첫 번째 반복에서 firstName
의 값은 anhsirK
, nosaJ
두 번째 반복 등... map()
도 동일한 반복을 수행하기 때문에 동일한 결과를 얻는 것이 분명합니다. 그for-loop
가 하고 있었습니다.이 시점에서 두 메서드가 호출 배열의 요소에 대한 반복과 동일한 작업을 수행하는지 물어볼 수 있습니다.
for-loop
대신 map()
를 사용해야 하지 않습니까? 더 읽기 쉽고 그곳에서 수행되는 작업을 명시적으로 설명합니다.예, 아니오.
for-loop보다 map() 사용의 이점
map()
에 전달된 함수의 인수를 사용하여 호출 배열의 개별 요소에 직접 액세스할 수 있습니다. 항상 callingArray[someIndex]
로 값을 가져오는 것보다 훨씬 쉽습니다. map()
- 더 이상 for-loop
내부의 잘못된 인덱스를 처리하지 않습니다. 결국 우리가 알고 있는 것은 배열이 있고 해당 배열의 모든 요소를 처리하고 새 배열에 값을 저장하려는 경우
map()
가 올바른 방법이라는 것입니다.이것은 원래 작성되었습니다 at my blog
편집하다:
MDN에 따라 사용하지 않는 위치
map()
에 대한 자세한 정보를 얻으려면 이 게시물에 대한 댓글을 살펴보세요.
Reference
이 문제에 관하여(array.map(): 더 나은 방법 🧐 ?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/sereneinserenade/array-map-a-better-way-c23텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)