자바스크립트 배열

16기 김동하·2020년 12월 27일
0

자바스크립트 배열 정리

for (let i = 0; i < 5; ++i) {
console.log(i);
}
console.log("end");

for (let i = 0; i < 2; i++) {
console.log(i);
}
console.log("end");
console.log("-----------------------");

const data = ["Kim", 30, true];
for (let i = 0; i < data.length; i++) {
console.log(data[i], typeof data[i]);
}

for (let item of data) { // for 반복시 가져올 아이템을 넣을 변수 of 배열변수
console.log(item);
}

const data2 = [1, 2, 3, "Dave", true];

console.log(data2);
console.log(data2.length);

const myArray = new Array();
// 빈 배열을 객체처럼 선언 후, 직접 데이터를 넣을 수 있음
// myArray[0] = 0;
myArray[1] = 1;
myArray[2] = 2;
console.log(myArray);
console.log(myArray[1], myArray[2], myArray.length);
console.log(myArray[myArray.length - 1]); // 마지막 아이템 읽기

const data3 = new Array();

data3[0]= 1;
data3[1]= 2;
console.log(data3);
data3[1]= "fun-coding";
console.log(data3);
console.log("-----------------------------");

const data4 = [1, 2, 3, "dave", "funfun"];
console.log(data4);
// data4.splice(1, 3);
data4.splice(0, 2);
console.log(data4);
console.log("-----------------------------");
// 다양한 타입을 배열 아이템으로 가질수 있음
const data5 = [1, 2, "Kim", null];
console.log(data5);
console.log(data5[0]); // 첫째 아이템 읽기

// 여러 라인으로 배열 선언 가능
const data6 = [
"Dave",
"Fun-coding",
1
];
console.log(data6, data6[0]);

// { } 괄호는 객체 리터럴을 통한 객체로 인지, 객체도 아이템으로 선언 가능
const data7 = [
{ name: "Lee", age: 30 },
{ name: "Alex", age: 40 }

];
// 개별 아이템이 객체일 경우, 인덱스 번호로 객체의 프로퍼티 접근 가능
console.log(data7, data7[0]);
console.log(data7[1].name);

// 배열안에 배열 가능(이중 배열)
const data8 = [
[1, 2, 3],
[4, 5, 6]
];
// 개별 아이템이 별도 배열일 경우, 인덱스 번호로 배열 내의 배열 접근 가능
console.log(data8);
console.log(data8[0]);
console.log(data8[0]);
console.log("--------------------------------");
// push: 배열 맨 끝에 아이템 추가하는 함수
const data9 = [1, 2, 3];
data9.push("dave", 5);
console.log(data9.pop());

const my = [1, 2, "dave", 100];
let data10 = my.pop();
console.log(data9);
console.log(data10);

const my1 = [1, 2, 3];
my1.shift();
console.log(my1);
console.log("--------------------------------");

const my2 = [0, 1, 2];
const my3 = ["Dave", 3];
const my4 = my2.concat(my3);
// let my4 = my2.concat(my3);
console.log(my4);

let my5 = my2.join("*");
// my5 = my2.join("|");
console.log(my5, typeof my5);
console.log("--------------------------------");

const kim_data = [1, 2, 3, 4, 5, 6];
// let kim_data = [1, 2, 3, 4, 5, 6];
// kim_data.reverse();
console.log(kim_data);

let kim_data1 = kim_data.slice(1, 4);
// kim_data.slice(1, 4);
console.log(kim_data1);
console.log(kim_data.slice(0, 2));

kim_data.forEach(item => {
console.log(item);
})

// map: 배열의 각 아이템에 정의한 함수를 적용해, 새로운 배열을 리턴, 중요
const kim_data2 = kim_data.map(item => item * 3);
console.log(kim_data2);

// indexOf: 배열에서 지정한 데이터가 위치한 인덱스 번호를 리턴(전달)
const k_data = [1, 2, "dave", 4, 5];
let index = k_data.indexOf("dave");
console.log(index);
console.log(k_data.indexOf("dave"));
console.log("--------------------------------");

// findIndex: 배열의 아이템이 객체일 경우, 해당 객체에서 지정한 데이터 위치의 인덱스 번호를 리턴
const k_data1 = [
{
id: 1,
name: "Lee"
},
{
id: 2,
name: "Alex"
}
];

console.log(k_data1.indexOf("Alex"));
console.log(k_data1.findIndex(item => item.name === "Alex"));

// find: 지정한 데이터 위치를 리턴하지 않고, 지정한 데이터가 들어있는 해당 객체를 리턴
console.log(k_data1.find(item => item.name === "Alex"));

// filter: 배열의 특정 조건에 맞는 아이템만 추출할 때 사용, 중요
let k_data2 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
let even = k_data2.filter(item => item % 2 === 0);
console.log(even, typeof even);

profile
예비 개발자에서 개발자로!

0개의 댓글