5. 객체와 타입 1~3
2020. 7. 13. 15:38ㆍRetrospection/Sprint
1. 값이 문자열일 경우 그 값을 제거하는 함수 작성
function removeStringValues(obj) {
//속성값이 문자열인 모든 속성 제거
//속성값이 문자열일때 그 속성을 제거하는 조건문 작성
for(prop in obj){
if(typeof obj[prop] === "string" ){
delete obj[prop]
}
}
}
for 반복문과 조건문 , typeof 로 함수를 만들어 주었다.
typeof obj[prop] = 'string' 으로 했었는데 syntax error 가 떴다.
타입과 값이 정확히 스트링과 일치해야 하기때문에 === 를 쓰는건가 보다 .
그리고 string 도 type of 를 mdn 에 검색해보니 typeof 를 사용할때 결과값은 항상 스트링값으로 나온다고 나와있었다.
그래서 그냥 string 이 아닌 "string" 이라고 해주었다.
2. 속성값의 타입이 숫자일경우 그 속성값을 제거하는 함수 작성
객체의 타입을 알기위한 방법을 정확히 알고있는것 이문제의 포인트 같다.
1번문제랑 완전히 같은형식.
function removeNumberValues(obj) {
//결과값이 숫자인 속성값을 제거하는 함수 작성
// for in 반복문 , if 조건문 , typeof 로 작성하면 될것같음 .
for (let prop in obj ){
if(typeof obj[prop] === "number"){
delete obj[prop]
}
}
}
3.속성값의 타입이 배열인 속성값을 제거하는 함수 작성
typeof 배열 일 경우 값이 object 가 나오기때문에
Array.isArray() 를 써주어야 한다.
1,2 번문제와 완전히 같지만 Array.isArray() 를 사용하는것만 다르다.
function removeArrayValues(obj) {
// 속성값이 배열인 속성 제거
//Array.isArray() 를 사용하여 결과가 true 일때 그값을 제거하는 함수를 작성하면 될 것같다.
for(let prop in obj){
if(Array.isArray(obj[prop])){
delete obj[prop]
}
}
}
'Retrospection > Sprint' 카테고리의 다른 글
배열메소드 스프린트 회고하기 11~15 (0) | 2020.07.16 |
---|---|
배열메소드 스프린트 회고 ( 1- 10 ) (0) | 2020.07.16 |
4. 객체 11~13 (0) | 2020.07.12 |
4.객체 7~10 (0) | 2020.07.11 |
4. 객체 4 ~ 6 (0) | 2020.07.07 |