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