12-Toy-Problemの解決



1.配列を入力値とし、10以上の要素のみを返す関数を入力してください。

const numbers = [10,3,55,4,1,0]; 
function getOverTenItems() { } 
console.log(getOverTenItems(numbers)) // [10,55]

1-1. フィルタの使用

function getOverTenItems(arry) {
  let result = arry.filter((item) => item >= 10);
  return result;
}
配列方法で最初に思いついたコード!
初めて関数に結果変数を宣言せずにfilterメソッドコードのみを書き、結果値はundefind(戻り値がないのは当然)😹) result値を宣言し、return値をresultとして、結果は値が非常に良いことを示します.👍🏻

1-2. forEach+pushの使用

function getOverTenItems(arry) {
  let result = [];
  arry.forEach((element) => {
    if (element >= 10) {
      result.push(element);
    }
  });
  return result;
}
もともとfor文をよく知っていて、foreach文を書くのはよく知らない...!
しかしやはり学んだことを考えてコードを書いて、値段はとてもすばらしいです!⭐️

1-3. map+pushの使用

function getOverTenItems(arry) {
  const result = [];
  arry.map((i) => {
    if (i >= 10) {
      result.push(i);
    }
  });
  return result;
}
文の代わりに複数の複文を使って、それを熟知しましょう!

1-4. reduce+pushの使用

function getOverTenItems(arry) {
  let result = arry.reduce((prev, cur) => {
    if (cur >= 10) {
      prev.push(cur);
    }
    return prev;
  }, []);
  return result;
}
filterとかの都合で、全部手配して、まだお金を返していないので、半日うろうろしていました😡
結果値を割り当ててこそ、リターンが得られます!!覚えておいてねホティン

2.図希と皓京の2020年の旅行先と行った回数をそれぞれ対象に表記した。合計旅行回数が5回を超える場合はcheckNumberOfVisit関数に記入してtrueを返し、小さい場合はfalseを返します。

const dohee = { 제주도: 2, 부산: 1, 전주: 1, 속초: 1 };
const hojung = { 제주도: 1, 일본: 1 };

function checkNumberOfVisits(Obj) {}

console.log(checkNumberOfVisits(dohee)); // true
console.log(checkNumberOfVisits(hojung)); // false

2-1. for/in文の使用

function checkNumberOfVisits(Obj) {
  let sum = 0;
  for (let key in Obj) {
    sum += Obj[key];
  }
  return sum >= 5;
}
括弧表示法:obj["property"]括弧表示法は覚えておらず、悩んでいました...Obj TILの復習をしてから解答した問題を思い出した.🤯 復習も復習ですが、TILで整理しておけばすぐに覚えられる!

3.switch case文を使用して、4つの演算が可能な計算機関数を作成してください。

function caculator(operator, num1, num2) {}
console.log(caculator("+", 10, 2)); // 12
console.log(caculator("1", 1, 5)); // 'Error'
function caculator(operator, num1, num2) {
  switch(operator){
    case "+":
      return num1+num2;
      break;
    case "-":
      return num1-num2;
      break;
    case "*":
      return num1+num2;
      break;
    case "/":
      return num1/num2;
      break;
    default:
      return "Error";
      break;
  }
}
console.log(caculator("+", 10, 2)); // 12
console.log(caculator("1", 1, 5)); // 'Error'
久しぶりにスイッチドアを使ったので、ちょっと迷いました.ほほほ、しかしやはりある程度繰り返して、簡単に解決した問題!
関数とスイッチドアを知っていれば、これは簡単に解決できる問題です!😇

4.入力文字列の最後の文字を返す関数を作成してください。

function getLastChar(txt) {}
console.log(getLastChar("안녕하세요!")); // !

splitの使用

function getLastChar(txt) {
  const arry = txt.split("");
  return arry[arry.length - 1];
}
まず文字列を配列に変換し、その配列の最後のインデックスを返し、最後の文字列が撮られました!並べ方が最高💪🏻

String.長さの使用

function getLastChar(txt) {
  const chartxt = txt[txt.length - 1];
  return chartxt;
}
文字列にもlengthと書くことができます!!🙆🏻‍♀️
並ぶ長さだけが長さを書けるわけではありません~!文字列は長さの値を返すこともできます.覚えてろ!
注意:https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/String/length

5.関数を入力し、オブジェクトのキーを配列に戻してください。

function getKeys(Obj) {}
const travelPlace = { 제주도: 2, 부산: 1, 전주: 1, 속초: 1 };
console.log(getKeys(travelPlace)); // ['제주도', '부산', '전주', '속초']

5-1. for/in文の使用

function getKeys(Obj) {
  const keys = [];
  for (let key in Obj) {
    keys.push(key);
  }
  return keys;
}
オブジェクトのfor/in文はとても役に立ちます.ほほほ、前の問題で解いた問題かもしれません.順調に解決しました.

5-2. Object.keysメソッドの使用

console.log(Object.keys(travelPlace)); // ['제주도', '부산', '전주', '속초']
実はこの問題は前にObject TILを整理したときにあった問題です.
その時もfor/in文とObjectkeysメソッドを使用して比較しましたが、これは関数を作成する問題なので、ここでfor/in文を使用するべきです!

📌 TMI


使用方法で値をエクスポートするのもいいですが、問題を把握してください.
また、方法の根はすべて基本知識なので、方法の根を忘れないでください!(if文やfor文など)