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文など)
Reference
この問題について(12-Toy-Problemの解決), 我々は、より多くの情報をここで見つけました https://velog.io/@jjung-developer/TIL-12-Toy-Problem-풀기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol