배열 array(for in, for of, forEach), 구조분해 할당
배열 생성
- literal로 배열생성
- Array객체를 이용하여 배열생성
let a=[10,20,30]; // literal로 생성
let b=new Array(40,50,60); // Array객체로 생성
console.log(a[0]);
console.log(b[0]);
#배열요소 호출
const a=[10,20,30]
document.write(a[2]) //30
배열의 크기
- Array.length 를 사용
var a=[10,20,30];
console.log(a.length); // 3이 출력
let a=[10,20,30,40,50];
let size=a.length;
for(let b=0; b<size; b++) document.write(a[b]);
배열의 메서드
forEach : 배열의 요소와 index를 반환
const a=[10,20,30]
a.forEach(function(b,c){
document.write(b+","+c+"<br>")
})
//10,0
//20,1
//30,2
for ... in : 배열의 객체(주소)를 순환
var arr = [1, 2, 3];
for (var item in arr) {
console.log(item); // 0, 1, 2
}
var obj = {
a: 1,
b: 2,
c: 3
};
for (var item in obj) {
console.log(item) // a, b, c
}
for ... of : 배열의 값을 순환
var arr = [1, 2, 3];
for (var item of arr) {
console.log(item); // 1, 2, 3
}
var obj = {
a: 1,
b: 2,
c: 3
};
for (var item of obj) {
console.log(item) // Uncaught TypeError: obj is not iterable
}
forEach : 배열의 항목들을 순환하며 처리
let fruits = ['사과', '바나나'];
fruits.forEach(function (item, index) {
console.log(item, index) // document.write(item+","+index+"<br/>");
});
// 사과 0
// 바나나 1
push : 배열 끝에 항목 추가하고, 배열의 새로운 길이를 반환
let fruits = ['사과', '바나나'];
let newLength = fruits.push('오렌지');
console.log(fruits) // ["사과", "바나나", "오렌지"]
console.log(newLength) // 3
unshift : 배열 앞에 항목 추가하기
let fruits = ["사과", "바나나", "오렌지"];
let newLength = fruits.unshift('딸기') // 앞에 추가
console.log(fruits) // ["딸기", "사과", "바나나", "오렌지"]
console.log(newLength) // 4
pop : 배열 끝에서부터 항목 제거
let fruits = ["사과", "바나나", "오렌지"];
let last = fruits.pop() // 끝에있던 '오렌지'를 제거
console.log(fruits) // ["사과", "바나나"]
console.log(last) // 오렌지
shift : 배열 앞에서부터 항목 제거
let fruits = ["사과", "바나나", "오렌지"];
let first = fruits.shift() // 제일 앞의 '사과'를 제거
console.log(fruits) // ["바나나", "오렌지"];
console.log(first) // 사과
indexOf : 배열 안 항목의 인덱스 찾기
let fruits = ["딸기", "바나나", "망고"]
let pos = fruits.indexOf("바나나")
console.log(pos) // 1
splice : 인덱스 위치에 있는 항목 제거
let fruits = ["딸기","사과", "바나나", "오렌지","망고"];
let removedItem = fruits.splice(1, 2) // 1번째 인덱스부터 2개항목을 제거하는 방법
console.log(fruits) // ["딸기","오렌지","망고"]
console.log(removedItem) // ["사과", "바나나"]
#배열 반환
filter : 조건에 맞는 요소만 배열로 반환
const a = [3, 6, 10, 11, 15, 8];
const b = a.filter(function (num) { return num % 2 == 0 });
console.log(b); // [6,10,8]
join : 배열의 요소 사이에 문자를 넣고 하나의 문자열로 반환
const a = [10, 20, 30];
b=a.join("$")
document.write(b) //10$20$30
#구조분해할당 Destructuring assignment
배열이나 객체의 속성을 해체해서 개별변수에 담을수 있다.
let a, b, rest;
[a, b] = [10, 20];
console.log(a);
// expected output: 10
console.log(b);
// expected output: 20
[a, b, ...rest] = [10, 20, 30, 40, 50];
console.log(rest);
// expected output: Array [30,40,50]
구조 분해 할당 : https://scoring.tistory.com/7
반응형