배열 1번
function getType(anything) {
if(Array.isArray(anything) === true) {
return 'array';
}
if(anything === null) {
return 'null';
}
return typeof(anything);
}
배열 8번
function getLargestElement(arr) {
let max = arr[0];
for(let i = 0; i < arr.length; i++) {
if(max < arr[i]) {
max = arr[i];
}
}
return max;
}
function getLargestElement(arr) {
let max = arr[0];
for (let el of arr) {
if (el > max) {
max = el;
}
}
return max;
}
배열 9번
function getLongestWord(str) {
let arr = str.split(' ');
let max = arr[0];
for(let i of arr) {
if(i.length > max.length) {
max = i;
}
}
return max;
}
function getLongestWord(str) {
let arr = str.split(' ');
let max = arr[0];
for(let i = 0; i < arr.length; i++) {
if(arr[i].length > max.length) {
max = arr[i];
}
}
return max;
}
배열 13번(배열 합치기)
function mergeArrays(arr1, arr2) {
return arr1.concat(arr2);
}
배열 18번
주소값 동일
function removeFromFront(arr) {
arr.shift();
return arr;
}
주소값 다름
function removeFromFront(arr) {
return arr.slice(1);
}
배열 21번
function addToBackOfNew(arr, el) {
let newArr = arr.slice(); //slice는 주소값이 다르기 때문에
newArr.push(el);
return newArr;
}
배열 23번
function getAllElementsButNth(arr, n) {
if(n > arr.length) {
return arr;
}
arr.splice(n, 1); // (삭제할 index, 삭제할 개수)
return arr;
}
function getAllElementsButNth(arr, n) {
let newArr = [];
for(let i = 0; i < arr.length; i++) {
if(i !== n) {
newArr.push(arr[i])
}
}
return newArr;
}
배열 25번
function fibonacci(num) {
let fibNum = [];
for (let i = 0; i <= num; i++) {
// i <= num인 이유는, i가 2인 경우를 넣어줘야 newArr[i - 2 → 0] + newArr[i - 1 → 1] 때문
if (i === 0) {
fibNum.push(0);
} else if (i === 1) {
fibNum.push(1);
} else {
fibNum.push(fibNum[i - 2] + fibNum[i - 1]); // i가 2일 때 부터
}
}
return fibNum;
}
// 최소한 두 개는 있어야 더할 수 있기 때문에 i가 0, 1인 경우는 그냥 push
// cf. arr[-1]은 undefined