Javascript 배열 시리즈 VII의 이해 - 배열 루프 및 반복 파트 IV
15195 단어 webdevbeginnersjavascript
map
을 사용하여 배열을 반복하는 방법에 대해 설명했습니다. 아래에서 확인할 수 있습니다.Javascript 배열 시리즈 이해하기 VI - 배열 루프 및 반복 파트 III
Nedy Udombat ・ 10월 4일 '19 ・ 4분 읽기
#javascript
#webdev
#html
#beginners
오늘은 필터를 사용하여 배열을 반복하는 방법에 대해 이야기하겠습니다.
필터
때때로 우리는 필요하지 않은 것을 배열에서 필터링하고 싶을 것입니다. 특정 배열에서 모든 홀수를 필터링하려는 이 예를 살펴보십시오.
다음을 수행하여
for ...
루프로 이를 달성할 수 있습니다. const numbersArray = [1 ,2, 3, 4, 5, 6, 7, 8, 9, 10];
const evenNumbersArray = [];
for (let i = 0; i < numbersArray.length; i += 1) {
if (numbersArray[i]%2 === 0) {
evenNumbersArray.push(numbersArray[i])
}
}
console.log(evenNumbersArray) // [2, 4, 6, 8, 10]
이 상황에서 우리는 달성하기 위해
for ...
루프와 if
문을 사용해야 했습니다. filter()
방법을 사용하여 동일한 결과를 얻을 수 있습니다. const numbersArray = [1 ,2, 3, 4, 5, 6, 7, 8, 9, 10];
const evenNumbersArray = numbersArray.filter(number => number%2 === 0);
console.log(evenNumbersArray) // [2, 4, 6, 8, 10]
위의 예에서
filter()
메서드가 원래 배열을 변경하지 않고 대신 새 배열을 만들고 조건 집합을 전달하는 이전 배열의 요소를 저장한다는 것을 알 수 있습니다.filter()
메서드는 원래 배열에서 지정된 조건을 전달한 요소의 새 배열을 만듭니다. 위의 예에서 filter()
메서드는 짝수 요소로 새 배열을 만들었습니다.구문을 살펴보겠습니다.
// syntax
const newArray = arr.filter(([currentValue], [arrayIndex], [arr]) => {
// [specified condition]
});
or
const newArray = arr.filter(callback([currentValue], [arrayIndex], [arr]));
할당의 왼쪽에는 필터 문의 결과가 새 변수에 저장됩니다. const 또는 let을 사용하여 선언할 수 있습니다.
[currentValue]: 처리 중인 배열의 현재 항목입니다. 행렬 후 현재 값은 배열의 다음 요소 값이 됩니다.
[arrayIndex]: 배열에서 현재 값의 인덱스입니다. 이는 현재 값이 처리된 후에도 변경됩니다.
[arr]: 반복되는 배열입니다.
[콜백]: 이것은 기본적으로 배열의 각 요소에 대해 수행되는 함수입니다. 함수가 true를 반환하면 요소가 새 배열에 추가되고 그렇지 않으면 건너뜁니다. 처음 세 항목(currentValue, index 및 array)을 인수로 허용합니다. 콜백 함수를 사용하기 전에 다음과 같이 선언할 수 있습니다.
const numbersArray = [1 ,2, 3, 4, 5, 6, 7, 8, 9, 10];
const isEvenNumber = num => num%2 === 0
// using a callback function
const evenNumbersArray = numbersArray.filter(isEvenNumber);
console.log(evenNumbersArray) // [2, 4, 6, 8, 10]
작동 중인 filter()의 몇 가지 예입니다.
const players = [
{ name: "messi", club: "Barcelona"},
{ name: "Ronaldo", club: "Juventus"},
{ name: "Kante", club: "Chelsea"},
{ name: "De Jong", club: "Barcelona"},
{ name: "Semedo", club: "Barcelona"},
{ name: "Eriksen", club: "Totenham"},
{ name: "Pogba", club: "Man utd"},
{ name: "Alba", club: "Barcelona"},
{ name: "Dembele", club: "Barcelona"},
]
const barcaPlayers = players.filter(player => player.club === "Barcelona");
console.log(barcaPlayers);
//[
// { name: "messi", club: "Barcelona"},
// { name: "De Jong", club: "Barcelona"},
// { name: "Semedo", club: "Barcelona"},
// { name: "Alba", club: "Barcelona"},
// { name: "Dembele", club: "Barcelona"},
//]
결론
Array.filter()
는 말 그대로 배열에서 항목을 필터링하려는 경우에 유용합니다. 원래 배열을 변경하지 않습니다.빠른 퀴즈: 기분이 좋습니까? 이것을 시도하고 댓글 섹션에 답을 남겨주세요.
// Return an array of only prime numbers from the given array
const numbersArray = [1, 2, 3, 4, 5, 6, 7, 8, 11, 15, 17, 23, 24, 25, 29, 30];
// Return an array of all words that begin with a vowel in the given array
const randomWords = ["Nedy", "Adesoji", "Akaniru", "Umbrella", "Barcelona", "Xylophone"];
filter
함수를 사용하기 위한 다른 인스턴스가 있습니까? 의견 섹션에서 공유하십시오.오늘은 여기까지입니다. 내일은 배열 반복에 사용되는 또 다른 함수 집합에 대해 이야기하겠습니다.
다음은 내가 작성한 이 어레이 시리즈의 다른 기사에 대한 링크입니다.
질문, 추가 또는 수정 사항이 있습니까? 댓글을 남겨주세요.
읽어 주셔서 감사합니다. 👍
Reference
이 문제에 관하여(Javascript 배열 시리즈 VII의 이해 - 배열 루프 및 반복 파트 IV), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/nedyudombat/understanding-javascript-array-series-vii-array-loops-iteration-part-iv-3nb8텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)