array 연습문제

박민규·2020년 7월 5일
1
  • 다음 함수 안에 코드를 구현하세요

getElement 함수안에 arr 변수를 선언했습니다.
arr 변수는 배열을 할당했고요, 배열에는 다양한 데이터 타입의 요소가 들어있네요!

배열이 담긴 arr 변수에 접근하여 getElement 함수가 "array" 라는 문자열을 return 할 수 있도록 해주세요.

function getElement() {
let arr = [3, [4, ["array", 9], 2+3], [0]];
return arr[1][1][0];
}
getElement();

풀이

function getElement() {
let arr = [3, [4, ["array", 9], 2+3], [0]];

변수 arr에 [] <<이것은 배열 배열은 인덱스0부터 시작한다
[3, [4, ["array", 9], 2+3], [0]];는
3[0] , [4, ["array", 9], 2+3][1],[0][2] 이다 (쉼표를 잘보자)
그러면 이제 인덱스 1에 또 배열이라서 인덱스로 찾아보자
[4, ["array", 9], 2+3]는
4[0], ["array", 9][1], 2+3[2] 여기서 array는 인덱스 1번째의 배열에 있으니까 또 ..들어가보자
["array", 9]는
"array"[0], 9[1] 순서대로 들어가보면

return arr[1][1][0];
}

제일 큰 []의 1번째 인덱스 안에서 1번째 인덱스 안에서 0번째 인덱스에 들어있다.. [1][1][0]이라고 적으면 들어가게됨.

getElement();


  • 다음 함수 안에 코드를 구현하세요
    // ex) myArray = [3, 2, 5];

addFirstAndLast 함수 안에 작성해주세요.

addFirstAndLast 함수에 주어진 인자 myArray는 숫자 값으로만 이루어진 array 입니다.

addFirstAndLast 함수에 주어진 인자 myArray 의 첫번째 element와 마지막 element의 값을 더한 값을 리턴해주세요.

만일 myArray에 한 개의 요소만 있다면 해당 요소의 값을 리턴해 주시고 요소가 없는 비어있는 array라면 0을 리턴해주세요.

Hint: array의 길이를 구하는 방법은 다음을 참조하세요:

https://stackoverflow.com/c/wecode/questions/13/

function addFirstAndLast(myArray) {
if(myArray.length >= 2){
return myArray[0]+myArray[myArray.length-1];
}
else if(myArray.length == 1){
return myArray[0];
}
else if(myArray.length === 0){
return 0;
}
}
addFirstAndLast( [4] );

풀이

function addFirstAndLast(myArray) {
if(myArray.length >= 2){
return myArray[0]+myArray[myArray.length-1];
}

length를 사용하면 인자의 길이를 알수있다!!!
만약 인자의 배열이 [1,4]면 2개니까 myArray의 길이는 2가된다

addFirstAndLast 함수에 주어진 인자 myArray 의 첫번째 element와 마지막 element의 값을 더한 값을 리턴해주세요.에서 일단 1개 이상인건 알수있다 그래서 2개이거나 2개보다 갯수가 많을때 리턴에 값을 준다
myArray 의 첫번째니까 myArray[0] + 마지막은 myArray[myArray.length-1] -1를 쓴 이유는
인덱스는 0부터 시작하는데 랭쓰는 딱 길이의 숫자를 알려준다 length가 3이면 마지막 인덱스는 0,1,2니까 2이다.

else if(myArray.length == 1){
return myArray[0];

}

만일 myArray에 한 개의 요소만 있다면 해당 요소의 값을 리턴한다.

인자가 1개있으면 lengrh도 1개일것이다 그럼 myArray[0];를 리턴해주면된다 왜 1이 아니고 0인가
인덱스는 0부터 시작하니까 !!!! [4]는 index[0]인것이다 !!!!!
return myArray[0];를 리턴에 넣으면 myArray에 입력한 인자와 같은 값이 배출된다.

else if(myArray.length === 0){
return 0;
}
}

if(myArray.length === 0) 랭스가 0이면 아무것도 없다는 뜻이니까
그냥 바로 문제에서 하라는 0을 리턴하면된다.

addFirstAndLast( [4] );

profile
개(발)초보

0개의 댓글