문제 설명
객체 두개가 주어졌을때, "extend" 함수는 두번째 객체의 속성을 첫번째 객체에 추가해야 합니다.
조건
-
첫번째 객체에 없는 모든 키를 추가해야한다.
-
만약 첫번째 객체에 이미 있는 키라면, 값을 덮어쓰지말고 무시하라.
-
두번째 객체는 수정하면 안된다.
입출력 예시
let obj1 = {
a: 1,
b: 2
};
let obj2 = {
b: 4,
c: 3
};
extend(obj1, obj2);
console.log(obj1); // --> {a: 1, b: 2, c: 3}
console.log(obj2); // --> {b: 4, c: 3}
문제
function extend(obj1, obj2) {
}
*풀이1
1
2
3
4
5
6
|
function extend(obj1, obj2) {
for(let key in obj2) {
if(!(key in obj1)) {
obj1[key] = obj2[key];
}
}
|
cs |
*풀이2
1
2
3
4
5
6
7
|
function extend(obj1, obj2) {
for(let key in obj2){
if(!obj1.hasOwnProperty(key)){
obj1[key] = obj2[key];
}
}
}
|
cs |
*풀이3
1
2
3
|
function extend(obj1, obj2) {
Object.assign(obj1, Object.assign({}, obj2, obj1));
}
|
cs |
'알고리즘 > JavaScript | AG' 카테고리의 다른 글
[객체] 각 키의 값은 해당 문자가 주어진 문자열에서 몇번 나오는가? (0) | 2020.06.18 |
---|---|
[객체] 주어진 객체의 속성의 총 갯수는 몇개인가요? (0) | 2020.06.18 |
[조건문] 주어진 score을 학점으로 변환하기 (A+, A, A- , ... , F) (0) | 2020.06.16 |