오늘은 배열 초기화하는 방식과 배열 역순으로 하는법, 그리고 퀴즈를 풀었다.
배열을 초기화시키기 위해 값을 하나씩 빼는
pop
, 한번에 초기화 시키는delete
, 새롭게 길이가 0인 배열로 초기화 시키는new
.
이 3가지 방식으로 배열을 초기화 하였는데 가스비의 차이가 있었다.
많은 케이스를 다루진 않았고 가볍게 테스트를 진행했을 땐delete
가 가스비적인 부분에서 가장 효율적이었다.
배열을 거꾸로 바꾸기 위해 for문을 사용하였다.
길이가 5인 배열이라면 인덱스 0,4 // 1,3 을 바꾸면 된다.
function reverse2(uint[] memory numbers) public pure returns(uint[] memory) {
for(uint i=0; i<numbers.length/2; i++) {
(numbers[i], numbers[numbers.length-1-i]) = (numbers[numbers.length-1-i], numbers[i]);
}
return numbers;
}