for...in 문 문법
자바스크립트에서 for...in 문은 객체의 프로퍼티를 순회하는 데 사용된다. 문법은 다음과 같다.
1
2
3
|
for (변수 in 객체){
구문
}
|
cs |
- for...in 문의 본문은 객체의 각 프로퍼티에 대해 한 번씩 실행된다.
- 각 반복에 앞서 객체 프로퍼티 중 하나의 이름이 변수에 문자열 타입으로 할당된다.
객체에 대한 for...in 문 예제
1
2
3
4
5
6
7
8
9
10
11
|
var obj = ;
for (var key in obj){
console.log("name: " + key + "; value: " + obj[key]);
}
/*
name: x; value: 10
name: y; value: 11
name: z; value: 12
*/
|
cs |
배열에 대한 for...in 문 예제
1
2
3
4
5
6
7
8
9
10
11
|
var array = [10,11,12];
for (var key in array){
console.log("name: " + key + "; value: " + array[key]);
}
/*
name: 0; value: 10
name: 1; value: 11
name: 2; value: 12
*/
|
cs |
열거할 수 없는 프로퍼티
자바스크립트에서 일부 프로퍼티는 열거할 수 없는 것으로 표시돼 있어서 이러한 프로퍼티는 for...in 문으로 열거할 수 없으며, 모든 내장 메서드를 비롯해 각종 내장 프로퍼티는 열거되지 않는다.
반면 모든 사용자 정의 프로퍼티는 열거할 수 있다.
출처 : http://codingnuri.com/javascript-tutorial/javascript-for-in-statement.html
객체에서 중복된 값을 제외하고 객체 추가하기
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
function extend(obj1, obj2) {
for(var key in obj2) {
if(key in obj1) {
obj1[key];
} else {
obj1[key] = obj2[key];
}
} return obj1;
}
//-------------------------------------------
var obj1 = {
a: 1,
b: 2
};
var obj2 = {
b: 4,
c: 3
};
extend(obj1, obj2);
console.log(obj1); // -->
console.log(obj2); // -->
|
cs |
'Programing > JavaScript' 카테고리의 다른 글
Truthy and Falsy Values in JavaScript (0) | 2019.01.23 |
---|---|
Double Exclamation Mark(느낌표 두개) (0) | 2019.01.23 |
.concat() // 배열, 문자열 합치기 (0) | 2019.01.21 |
.split() / 문자열을 배열로 분할, .split() 으로 특정문자개수 반환하기 (0) | 2019.01.21 |
.shift() .pop() / 배열에서 요소제거 (0) | 2019.01.21 |