//배열 여부확인(배열일 경우: true반환, 배열이 아닐경우:false반환)
let result = Array.isArray(arr1);
console.log(`arr1의 배열여부확인${result}`);
result = Array.isArray(date1);
console.log(`date1의 배열여부확인 ${result}`);
//배열 요소 인덱스반환[해당배열].indexOf(찾으려는 요소값)
//요소가 있으면:배열 요소의 인덱스 반환
//요소가 없으면: -1반환
result = arr1.indexOf(100);
console.log(`arr2배열에 100요소 있는지 검증한후 인덱스반환 ${result}`);
result = arr2.indexOf(600);
console.log(`arr2배열에 600요소 있는지 검증한후 인덱스반환 ${result}`);
//push and pop
//stack 자료구조 사용(last in first out)
result = arr2.push(600);
console.log(`arr2배열에 600요소 추가후 배열의 길이반환 ${result}`);
result = arr2.pop();
console.log(`arr2배열에 마지막요소를 삭제한후 요소반환 ${result}`);
//unshift and pop
const arr4 = [1,2,3,4];
result = arr4.unshift(100,200);
console.log(arr4);
console.log(`arr4배열의 앞부분에 100,200 요소 추가후 배열의 길이반환 ${result}`);
result = arr4.shift();
console.log(`arr4배열의 첫번째요소를 삭제한 후 삭제된 요소반환 ${result}`);
//concat : 2개의 배열을 하나로 합치고 새로운 배열을 반환
const arr5 = [1,2];
const arr6 = [3,4];
result = arr5.concat(arr6);
console.log(arr5);
console.log(result, '새로운 배열 반환');
console.log(`arr5배열과 arr6배열을 합치고 새로운 배열반환${result}`);
//splice(시작할 인덱스, 제거할 요소수, 추가할 요소...)
//메서드 호출 후 제거한 요소가 담긴 배열로 반환
const arr7 = [1,2,3,4];
result = arr7.splice(2,1,100,200);
console.log(arr7);
console.log(result, '제거한 요소가 담긴 배열 반환');
arr7.splice(1,0,300,400); //배열 중간 요소 삽입
console.log(arr7);
console.log(result, '빈배열 반환');
//slice(복사를 시작할 인덱스, 종료 인덱스 미만)
const arr8 = [1,2,[100,200],3,4];
result = arr8.slice(1,3);
const copyArr = arr8.slice();
console.log(arr8);
console.log(copyArr,);
//인수가 없을 시 새로운 배열을 반환하여 요소 복사
//복사하는 요소가 객체타입일 경우 얕은 복사
copyArr[2][0] = 300;
console.log(arr8);
console.log(copyArr==arr8);
console.log(copyArr[2]==arr8[2]);
console.log(result, '새로운 배열반환');
//flat 배열의 평탄화(인수가 없을 시에는 default 1)
const arr9 = [1,[2,[3,[4]]]];
result = arr9.flat();
console.log(result,'새로운 배열로 반환');
result = arr9.flat(2);
console.log(result,'배열의 깊이가 2인 배열 평탄화');
result = arr9.flat(Infinity);
console.log(result,'배열에 담긴 모든 배열 평탄화');
//reverse배열의 요소 순서를 거꾸러 바꾼후 반환
const arr10 = [1,2,3,4];
result = arr10.reverse();
console.log(arr10);
console.log(result);