Code States
Front-end boost camp
Today
I
Learned
🫠 아침 운동 다녀왔어야 했는데 그냥 냅다 자버린 4월 25일, 11일차 시작
let myNumber = [[13, 30], [73, 8], [44, 17]];
-- myNumber의 1번째 인덱스 값은? : [73, 8]
-- myNumber의 1번째 인덱스값의 0번째 인덱스 값은? : 73
for (let n = 0; n < myNum.length; n++) {
console.log(myNum[n]);
}
function getType(anything) {
if (anything === null){
return "null";
} else if (anyting = Array.isArray(anything)) {
return "array";
} else {
return typeof anything;
}
}
-- 나는 Array.isArray() 를 활용하지 못해 계속 오류가 떴었다.
function getFirstElement(arr) {
// 배열을 입력받는다.
// 배열의 인덱스 1번째 값 받기
// 빈 배열 입력받은 경우 undefined
if (arr === null){
return "undefined";
}
return arr[0];
}
// 내가 푼 답변, 통과는 했는데 undefined 부분이 정의가 안되어있음.
function getLastElement(arr) {
// 배열의 마지막 요소 리턴 arr.length - 1?
// 빈 배열은 undefined
return arr[arr.length - 1];
}
// 답안
function getLastElement(arr) {
if (arr.length > 0) {
return arr[arr.length - 1];
}
return undefined;
}
-- arr.length = [] === arr.length === 0
function getNthElement(arr, index) {
// arr[index]
// 빈 배열은 undefined
// 배열의 길이를 벗어나? 'out of index range'
if (arr.length === 0) {
return undefined;
} else if (arr.length - 1 < index) {
return 'out of index range';
} else {
return arr[index];
}
}
function computeSumOfAllElements(arr) {
// sum = sum + index[i]
sum = 0
for (let i = 0; i < arr.length; i++) {
sum = sum + arr[i];
}
return sum; // 자리 헷갈리지 않게 ㅠㅠ
}
function getAllWords(str) {
// TODO: 여기에 코드를 작성합니다.
if (str === '') {
return [];
}
return str.split(' ');
}
-- split() 을 알아야 풀 수 있음, ''와 ' '의 차이점 알기
// 전 문제를 통해 split을 알게 돼서... 그냥 한번 써봄 (이 문제에선 오답)
function getAllLetters(str) {
return str.split('');
}
// 정답
function getAllLetters(str) {
let array = [];
for (let i = 0; i < str.length; i++) {
array.push(str[i]);
}
return array;
}
function getLargestElement(arr) {
let max = arr[0]
for (let i = 1; i < arr.length; i++) {
if (arr[i] > max) {
max = arr[i];
}
}
return max;
}
function getLongestWord(str) {
let words = str.split(' '); // 공백을 기준으로 나눈 단어가 요소로 있는 배열
let max = ''; // string 길이 젤 작은 단위 ''로 최대값 잡아줌
for (let i = 0; i < words.length; i++) {
if (words[i].length > max.length) {
max = words[i];
}
}
return max;
}
function getEvenNumbers(arr) {
let result = [];
for (let i = 0; i < arr.length; i++) {
if (arr[i] % 2 === 0) {
result.push(arr[i]);
}
}
return result;
}
function addToFront(arr, el) {
arr.unshift(el);
return arr;
}
function addToBack(arr, el) {
arr.push(el);
return arr;
}
function mergeArrays(arr1, arr2) {
return arr1.concat(arr2);
}
오늘은 이론은 조금, 문제풀이가 많은 시간이었당. 아직 글로는 못옮겼지만 총 25가지 문제중, 다수의 문제가 slice 관련된 문제였다. 오늘 새로운 페어님도 너무 알잘딱깔센하게 설명해주셔서 도움 많이 받으며 문제를 풀었다. 주말에는 풀었던 문제 복습과 벨로그 정리 마무리를 할 것임.
문제는 많이 풀어봐야겠다.