javascript

javascirpt 객체와 배열

개갑순이돌이짱 2021. 9. 28. 19:39

 

// 배열         객체

// []           {}

//인덱스생성     속성생성

//foreach사용   foreach불가

//length사용    length불가

 

let t = {
    name : "호랑이",
    age : 1,
    bl : true,

};
console.log(t);
console.log(t.name);
console.log(t.age);
console.log(t.bl);
console.log(t['name'],t['age'],t['bl']);

//객체에서는 foreach와 비슷한 for in 사용
for (const key in t) {
    //    console.log(t);
    console.log(t[key]); //객체 안에 있는 값 표출
}

console.log(1,t.name,t.age);

while(t){
    console.log(2, name, age);
}

 

객체 안에있는 것들을 CRUD할 수 있다.

let obj = {
    a : 10,
    b : 20,
    f1: () => {console.log('f1')}
}
console.log(obj);
obj.b = 99;
obj.c = 30;
console.log(obj);

delete(obj.b); //obj 객체 b 를 삭제
console.log(obj);
obj.f2 = () => {console.log('test');}
obj.f2();
delete(obj.f1); // 함수 삭제

 

람다는 this를 사용할 수 없다.

let obj = {
    a : 10,
    b : 20,
    f1: function(){
        console.log(this.a,this.b);
    },    
    f2: () => {
        console.log(this.a,this.b);  //undefined 람다식에는 this를 사용할 수 없다.
    }
}

obj.f1();
obj.f2();

 

let c = "tiger";
let obj = {
    a : 10,
    b : 20,
    [c] : 30 // c가 가지고 있는 값이 key 값
}

console.log(obj.a,obj.b,obj.tiger);

 

let obj = {
    a: 10,
}
obj.b = 20;
console.log(obj);

obj['c'] = 30; //속성을 추가하는 방법 이와 같은 방법으로 써야할 경우가 있기때문에 알아두는 것이 좋다
console.log(obj); 

for (let i = 0; i < 4; i++){
    obj['tiger' + i] = i*100;
}
console.log(obj);


let obj = {
    a : 10,
    b : 20,
}
console.log(Object.keys(obj));
console.log(Object.values(obj));

 

//객체 병합:두개의 객체를 합쳐서 새로운 객체를 만든다.
let obj1 = {
    a : 10,
    b : 20,
}

let obj2 = {
    c : 30,
    d : 40,

}



let obj3 = Object.assign(obj1,obj2);
console.log(obj3);

let obj4 = {...obj1,...obj2};

console.log(obj4);

 

배열의 생성

let ar = [
    10,
    "호랑이",
    true,
    [10,20,30],
    {name:"독수리", age:10},
    function(){},
    undefined,
];
console.log(ar);

let ar = [10,20,30];
let br = Array(); //[]
let cr = Array(5);
let dr = Array(10,20,30);

 

let ar = [
    {
        n:"호랑이",
        a:"10",
    },
    {
        n:"코끼리",
        a:"20",
    },
    {
        n:"독수리",
        a:"30",
    },

];
console.log(ar);

for(const key in ar){
    let e = ar[key];
    console.log(e.n, e.a);
    console.log(e['n'], e['a']);
}
let sum = 0;
for (const v of ar){
    sum += v.a;
}
console.log(sum);

let br = ar.map((v,k) => v.n + "");
console.log();



// // index받기
// let ar = [10,20,30];
// console.log(ar);
// for(const index in ar){
    
//     console.log(index,ar[index]);
// }console.log();

// // 값 바로 받기
// for(const value of ar){
//     console.log(value);
    
// }
// ar.forEach(    
//     (v, i) => {
//         console.log(v, i);
//     }
// );console.log();

// let br = ar.map((num) =>{
//     return num * 10;
//     }
// )
// console.log(br);

// br = ar.map((num) =>{
//     num * 100
// })

// let cr = [0,1,2,3];
// let dr = cr.map(num => {
//     if( num % 2){
//         return "odd";
//     }else
//         return "even";
//     }
// );


// console.log(dr);

// let ar = [10,20,30];
// console.log(ar);
// console.log(ar.length);
// console.log(typeof(ar));
// console.log(Array.isArray(ar)); //배열 확인: true