본문 바로가기

코딩 국비수업들으며 느끼는점

자바스크립트 내장함수(slice, reverse, indexof etc..)

//배열 여부확인(배열일 경우: 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);