본문 바로가기
웹프로그래밍/JavaScript

(7)[부록]스프린트_테스트 대비

by 코잼민 2024. 10. 2.

1_ Object 객체에서 필요한 요소의 속성 추출 or 속성값 추출

◎ 다른언어(Java / C++ / C언어) 와 차별이 두는 데이터타입이므로, 기억해두어야 함

# 알아야 할 개념 :

  • 논리 순서 : 

①. 속성들만 따로 추출하여, 배열에 저장하기

let Array = []; // 배열 생성

Array = Object.keys(객체이름);

②. for 가지고 탐색, 추출 

  • length 할 때, 객체.length 가 아닌, 추출한 속성명들 배열.length로 탐색 해야함
  • 속성값 비교 탐색 : 객체명[Array[i]] 비교연산 객체명[Array[j]]... 

#결론

  • 속성명 배열 추출 : Array = Object.keys(객체명);
  • 속성값 : 객체명[속성배열[인덱스]]
  • 속성명만 추출 : 속성배열[인덱스]

#연습문제

선언된 객체는 과목명 : 과목값 의 속성명 : 속성값으로 구성되어있는데, 최대점수의 과목, 최소점수의 과목을 따로 list저장 후, 반환해라.

● 코드 :

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
27
28
29
30
31
32
let object = {
  'Math' : 81,
  'English' : 93,
  'Life_Science' : 75,
  'Society' : 46,
  'Earth_Science' : 67,
}
 
// 반환용 임시 Array 생성
let list = [];
 
let keyArray = Object.keys(object);
 
// 첫 번째 속성값을 max, min 우선 저장
let maxi = keyArray[0];
let mini = keyArray[0];
 
// 반복문에서 keyArray.length를 사용해야 함
for(let i = 1; i < keyArray.length; i++) {
  if(object[maxi] < object[keyArray[i]]) {
    maxi = keyArray[i];
  }
  if(object[mini] > object[keyArray[i]]) {
    mini = keyArray[i];
  }
}
 
list.push(maxi);
list.push(mini);
 
console.log(list); // ["English", "Society"]
 
cs