TIL

[javascript] Array.reverse() 사용하지 않고 배열 뒤집기

meno1011 2023. 2. 27. 11:31
728x90

배열 뒤집기

const array = [1, 2, 3, 4, 5];

// 배열 끝에서부터 for문으로 하나씩 호출한다.
function reverseArray(arr){
	const result = [];
    // 배열 끝에부터 호출하기 위해 길이부터
	const len = arr.length;
    // 길이는 5지만 마지막 배열은 arr[4]부터 시작하므로 -1 해준다.
    // -1씩 빼면서 0까지 진행한다.
	for(let i = len -1; i > -1; i--){
		result.push(arr[i]);
	}
	return result;
}

reverseArray(arr); // [5, 4, 3, 2, 1]

문자열 뒤집기

const str = 'abc'
function reverseString(str) {
    let result = '';
    // 먼저 문자열을 split()을 이용해 배열로 만들어주고 
    const strArr = str.split(""); // ['a', 'b', 'c']
    const tempArr = [];
    // 위에 배열 뒤집기와 같은 조건으로 for문을 돌리고
    const len = strArr.length;
    for(let i = len - 1; i > -1; i--){
    	// 각 배열의 값을 tempArr에 넣어준뒤
        tempArr.push(strArr[i]);
    }
    // tempArr = ['c', 'b', 'a']
    // join을 이용해 tempArr의 값을 문자열로 이어준다.
    return result = tempArr.join(""); 
}

reverseString(str); // 'cba'