본문 바로가기

프로그래밍 기초/기초문법

filter, forEach

* 영어표기가 디폴트, 이하 한글표기

* Angular 기준


1. filter (함수)

- 배열을 특정 조건으로 정제하여 일치하는 [i]번째를 출력함

interface 간식 {
   견과류: string;
   과일: string;
}

...

testArray: 견과류[] = []

...

this.testArray[0] = {견과류: '군밤', 과일: '바나나'}
this.testArray[1] = {견과류: '땅콩', 과일: '사과'}

//상수 tempData 는 tempArray 배열의 인자중, 견과류가 "밤" 일때
const tempData = this.testArray.filter(value => value.견과류 == '군밤');
console.log(tempData)


출력결과: "[{견과류: '군밤', 과일: '바나나'}]"

활용 예제

1). 추가

if (this.testArray.filter(value => value.견과류 == '군밤') {

   const pushArray = { 견과류: '잣', 과일: '딸기' }

   this.testArray.push(pushArray)

}

출력결과: "[{견과류: '군밤', 과일: '바나나'}, {견과류: '땅콩', 과일: '사과'}, {견과류: '잣', 과일: '딸기'}]"

 

 


2. forEach (함수)

- 일종의 for문. 순회하며 요소들에 순서대로 접근. 배열 끝에 도달하면 자동으로 반복이 종료되며, 인자로 골백함수를 받아옴. 인자들의 타입이 같아야함.

- 쉽게 설명하면 배열을 각각 [i] 번째 row 로 쪼개서, row 의 인자 하나하나에 접근

- ex). 배열: any[] = [{name: 'john', age: 20, color: 'red'}, {name: 'julia', age: 22, color: 'orange'}]

          배열[0] = {name: 'john', age: 20, color: 'red'}

          배열[1] = {name: 'julia', age: 22, color: 'orange'} 일때

          this.배열.forEach((row: any) => {

             console.log(row)

          })

          출력결과: {name: 'john', age: 20, color: 'red'}, {name: 'julia', age: 22, color: 'orange'}

 

활용 예제

2). 수정

this.testArray.forEach((testRow: 간식) => {

   if (testRow.견과류 == '군밤') {

      testRow.견과류 = '호두'

   }

})

console.log(this.testArray)

 

출력결과: "[{견과류: '호두', 과일: '바나나'}, {견과류: '땅콩', 과일: '사과'}, { 견과류: '잣', 과일: '딸기' }]"

'프로그래밍 기초 > 기초문법' 카테고리의 다른 글

스레드, 프로세스, 멀티 태스킹  (0) 2023.04.13
Node.js  (0) 2023.03.20
callback  (0) 2023.01.13
배열  (0) 2022.11.08
저급언어와 고급언어  (0) 2022.11.04