[PreStudy-Review] 2주차 리뷰
2주차 스터디 리뷰와 보충할 내용을 정리한다.
1. Splice
splice 메서드 사용 시 삭제되는 것의 개념이 헷갈렸다.
pop 처럼 삭제된 것을 리턴하고, 기존 배열에서가 삭제되어 있는 것으로 이해하면 된다.
비교해보자.
✔️Assignment
기념사진을 찍으려고 하는데, 키 큰 사람들이 앞으로 나와있습니다.
splice method를 이용해 175cm 이상인 사람은 뒤에 설 수 있도록 코드를 작성해주세요.
(단, splice 메서드 괄호 안에는 무조건 음수만 적용해야 합니다)
let lane1 = [{'철수':'150cm'}, {'영희': '153cm'}, {'바둑이': '155cm'},{'밍키': '160cm'}, {'살구' : '168cm'}, {'두팔': '175cm'}, {'여름': '180cm'}, {'소헌': '181cm'}];
extractOver175(lane1) // [{'두팔': '175cm'}, {'여름': '180cm'}, {'소헌': '181cm'}];
🗝️Solution
function extractOver175(list) {
//괄호 안은 음수만 들어가야 합니다.
let extractedPeople = list.splice(-3)
return extractedPeople;
}
console.log(extractOver175(lane1)); // [{'두팔': '175cm'}, {'여름': '180cm'}, {'소헌': '181cm'}];
📌정리
splice
는 변수 할당이 필수적인 메서드가 아니다. 예를 들면
let arr = [1, 2, 3, 4, 5]
arr.splice(2,2)
위의 명령어 실행 시 ''arr
배열에서 2번 인덱스부터 2개 삭제'' 작업이 이루어져서
console.log(arr); // [1, 2, 5]
이와 같은 결과가 나온다.
그런데 만약 splice
메서드를 사용하여 변수에 할당할 경우,
let arr = [1, 2, 3, 4, 5]
let arr_new = arr.splice(2,2)
console.log(arr_new); // [3, 4]
이와 같이 제거된 부분이 변수에 할당된다.
2. Object, key, value
기존 풀이에서 Object.values
를 사용했지만
Python 에서 하던 것처럼 직접 배열.키값 으로 value 값을 불러오는 방법도 있다.
✔️Assignment
courses 라는 배열이 있습니다.
let courses = [
{level:'easy', subject: "English" },
{level:'hard', subject: "Mathmatic" },
{level:'medium', subject: "Literature" },
{level:'hard', subject: "Science" },
{level:'medium', subject: "Socialogy" }
];
level이 'hard'인 과목들로만 이루어진 새로운 배열을 filter()를 이용하여 반환해주세요.결과는 아래와 같아야 합니다.
[
{ level: 'hard', subject: 'Mathmatic' },
{ level: 'hard', subject: 'Science' }
]
🗝️Solution
기존 풀이
function filtered() {
return courses.filter((value)=> Object.values(value)[0] == "hard")
}
Object
를 사용해 value 값을 배열로 받아서 조건에 맞는 데이터들을 filter 메서드로 반환했다.
새로 알게 된 방법을 활용한 풀이
function filtered() {
return courses.filter((value)=> value.level == "hard");
}
- 지정해준 파라미터
value
는 배열에서 하나의 요소(본 문제에서는 객체)를 가져온다. - 가져온 객체에서
level
을 key 값으로 적용해 value 값을 반환한다.
📌정리
Object 사용법
let obj = {
player : 'curry', team : 'GSW', height : 190
}
console.log(Object.keys(obj)) // [ 'player', 'team', 'height' ]
console.log(Object.values(obj)) // [ 'curry', 'GSW', 190 ]
console.log(obj.player) // curry
console.log(obj.team) // GSW
일반화
객체, 키 값, 밸류 값이 주어졌다고 할 때
- 키 값을 배열로 반환 :
Object.keys(객체)
- 밸류 값을 배열로 반환 :
Object.values(객체)
- 원하는 키 값에 대한 밸류 값을 반환 :
객체.키값
Author And Source
이 문제에 관하여([PreStudy-Review] 2주차 리뷰), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@jhsol24/PreStudy-Review-2주차-리뷰저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)