본문 바로가기

Programming/Javascript

ES6 set() 반복

 1. 반복문

: 같은 명령을 반복하여 수행해야 할 경우 일정 횟수만큼 수핼할 수 있도록 제어하는 실행문이다.

 

1-1. for()

: 고전적인 for 반복문

let arr = ['A', 'B', 'C', 'D', 'E'];

for (let i = 0; i < arr.length; i++) {
	console.log(i);		// 0: 'A', 1: 'B', 2: 'C', 3: 'D', 4: 'E'
}

1-2. forEach()

: 배열 순회 전용 forEach() 메서드를 사용한 반복문

- element 요소가 하나씩 입력되어 반복하여  실행

arr.forEach(function(x) {
	console.log(x);		// 0: 'A', 1: 'B', 2: 'C', 3: 'D', 4: 'E'
});

/* 화살표를 이용한 forEach. 결과값은 위와 동일*/
arr.forEach( val => console.log(val) );

1-3. for in()

: 객체의 property 키 열거 전용 반복문

for (let key in arr) {
	console.log(key);	// 0: 'A', 1: 'B', 2: 'C', 3: 'D', 4: 'E'
}

1-4. for of()

: Iterable 전용 반복문

let arrayS = new Set(['dog', 'cat', 'lion', 'wolf']);
arrayS.add('tiger');

for(let k of arrayS) {
	console.log(k);	// dog, cat, lion, wolf, tiger 
}

 

2. Set 메서드

2-1. keys() 

: Iterator(반복자) 객체를 반환 -> next() 메서드 사용 가능

const keyIter = arrayS.keys(); // keys 메서드 호출해서 Iterator 할당

console.log( keyIter.next().value );	// dog
console.log( keyIter.next().value );	// cat
console.log( keyIter.next().value );	// lion
console.log( keyIter.next().value );	// wolf
console.log( keyIter.next().value );	// tiger

2-2. values()

: Iterator(반복자) 객체를 반환 -> next() 메서드 사용 가능

const valIter = arrayS.values();

console.log( varIter.next().value );	// dog
console.log( varIter.next().value );	// cat
console.log( varIter.next().value );	// lion
console.log( varIter.next().value );	// wolf
console.log( varIter.next().value );	// tiger

2-3. entries()

: set 요소 각각에 대해서 배열 형태[value, value]로 새로운 객체를 반환

let arrayS2 = new Set();
arrayS2.add('하나');
arrayS2.add('둘');
arrayS2.add('셋');

const entries = arrasyS2.entrires();

for (let i of entries) {
	console.log(i);	// ['하나', '하나'], ['둘', '둘'], ['셋', '셋']
}

 

 

'Programming > Javascript' 카테고리의 다른 글