Scrimbaの2020年までの私のシンプルなエントリ
53648 ワード
↓ Skip to the challenges ↓
…
Scrimbaは、クリスマスの日に至るまで、私たちの伝統を完了するための新しいJavaScriptの課題の多くで今月いっぱい.ここでは、すべての非プロジェクトスタイルの課題の1つのライナーJavaScript機能を使用して、各課題に私の非常にシンプルなソリューションです.プロジェクトのスタイルの課題(日8、15、23、および23日と24日の間に含まれる余分なボーナスチャレンジScrimba)のために、私はあなたがどのようにそれぞれを解決したかを確認するために周りに突くことができるように、私はCodepenを使用して私の完全なソリューションを埋めました.
フロントエンドの開発は私のフルタイムのキャリアですが、仕事は多くの同じように傾向があるように、それは今までと何度もそれを混ぜるのはいいですし、スパイスアップルーチンの開発だけでなく、新しい方法やテクニックを学ぶに挑戦するいくつかの課題に取り組む.私の個人的な好みの課題はSum Odd Fibonacci Numbers 私が「ハイジャックした」というチャレンジは、
Array.prototype.map()
関数とMax Consecutive Sum 私の知識を広げたチャレンジArray.prototype.fill()
関数.いくつかのCSSの楽しみのためにChallenge 8 どのように私は別のサイコロの顔を作成を参照してください.これ以上のADOなし-楽しむ!☕️🎄🎁
目次
☃️ Challenge 24: Max Consecutive Sum
🍬 怒りチャレンジ1:キャンディ
const candies = (children, candy) => Math.floor(candy / children) * children;
candies(3, 10); // 9
Take a swing at Challenge 1 ・・・↑ Back to the Table of Contents ↑
⭐️ チャレンジ2:預金利益
const depositProfit = (deposit, rate, threshold) => Math.ceil(Math.log(threshold / deposit) / Math.log(1 + (rate / 100)));
depositProfit(100, 20, 170); // 3
Take a swing at Challenge 2 ・・・↑ Back to the Table of Contents ↑
🧚 ゼンチャレンジ3:チャッキーモンキー
const chunkyMonkey = (values, size) => values.length <= size ? [values] : [values.slice(0, size), ...chunkyMonkey(values.slice(size), size)];
chunkyMonkey(["a", "b", "c", "d"], 2); // [["a", "b"], ["c", "d"]]
Take a swing at Challenge 3 ・・・↑ Back to the Table of Contents ↑
🎄 月チャレンジ4:年からの世紀
const centuryFromYear = num => Math.ceil(num/100);
centuryFromYear(1905); // 20
centuryFromYear(1700); // 17
Take a swing at Challenge 4 ・・・↑ Back to the Table of Contents ↑
🐑 チャレンジ5:文字列を逆にする
const reverseAString = str => str.split('').reverse().join('');
reverseAString('hello'); // "olleh"
Take a swing at Challenge 5 ・・・↑ Back to the Table of Contents ↑
🤶 ナンバーチャレンジ6:長さによるソート
const sortByLength = strs => strs.sort((a,b) => a.length - b.length, 0);
sortByLength(["abc", "", "aaa", "a", "zz"]); // ["", "a", "zz", "abc", "aaa"]
Take a swing at Challenge 6 ・・・↑ Back to the Table of Contents ↑
🦌 チャレンジ7:母音子音カウント
const countVowelConsonant = str => str.split('').reduce((a,b) => a + (/[aAeEiIoOuU]/.test(b) ? 1 : 2), 0);
countVowelConsonant('abcde'); // 8
Take a swing at Challenge 7 ・・・↑ Back to the Table of Contents ↑
🔔 ツァーチャレンジ8ローリングダイス
Take a swing at Challenge 8 ・・・↑ Back to the Table of Contents ↑
🎺 ナンバーチャレンジ9:サム奇数フィボナッチ数
const sumOddFibonacciNumbers = num => [0,1,1,...Array(num-3).fill()].map((e,i,a) => a[i-2] ? ((a[i] = a[i-2] + a[i-1]) || a[i-2] + a[i-1]) : e).filter(e => e % 2 && e <= num).reduce((a,b) => a + b, 0);
sumOddFibonacciNumbers(10); // 10
sumOddFibonacciNumbers(1000); // 1785
Take a swing at Challenge 9 ・・・↑ Back to the Table of Contents ↑
💂♀️ チャレンジ10:隣接する要素の製品
const adjacentElementsProduct = nums => Math.max(...nums.map((e,i,a) => a[i-1] ? e * a[i-1] : "").filter(e => e)) || undefined;
adjacentElementsProduct([3, 6, -2, -5, 7, 3]); // 21
Take a swing at Challenge 10 ・・・↑ Back to the Table of Contents ↑
🎁 ノーチャレンジ11:障害物を避ける
const avoidObstacles = nums => Array(Math.max(...nums)).fill().map((e, i) => i + 1).filter(e => !nums.includes(e)).find(e => nums.every(f => f % e !== 0));
avoidObstacles([5, 3, 6, 7, 9]); // 4
Take a swing at Challenge 11 ・・・↑ Back to the Table of Contents ↑
❄️ ノーチャレンジ12:有効時間
const validTime = str => str.includes(":") && str.split(":").length === 2 && str.split(":").every(e => !isNaN(e)) && Array(24).fill().map((_,i) => i).includes(parseInt(str.split(":")[0])) && Array(60).fill().map((_,i) => i).includes(parseInt(str.split(":")[1]));
validTime('13:58'); // true
validTime('25:51'); // false
validTime('02:76'); // false
Take a swing at Challenge 12 ・・・↑ Back to the Table of Contents ↑
🤴 チャレンジ13:各kthを抽出
const extractEachKth = (nums, index) => nums.filter(e => e % index);
extractEachKth([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 3); // [1, 2, 4, 5, 7, 8, 10]
Take a swing at Challenge 13 ・・・↑ Back to the Table of Contents ↑
🧸 チャレンジ14:最大隣接差
const arrayMaximalAdjacentDifference = nums => Math.max(...nums.map((e,i,a) => a[i-1] - e).filter(e => e).map(e => Math.abs(e))) || undefined;
arrayMaximalAdjacentDifference([2, 4, 1, 0]); // 3
arrayMaximalAdjacentDifference([2, 9, 1, 0]); // 8
Take a swing at Challenge 14 ・・・↑ Back to the Table of Contents ↑
🕊 月チャレンジ15:回転木馬
Take a swing at Challenge 15 ・・・↑ Back to the Table of Contents ↑
🧦 チャレンジ16:挿入ダッシュ
const insertDashes = arr => arr.split(" ").map(e => [...e].join("-")).join(" ");
insertDashes("aba caba"); // "a-b-a c-a-b-a"
Take a swing at Challenge 16 ・・・↑ Back to the Table of Contents ↑
👑 ナンバーチャレンジ17:異なるシンボルナイーブ
const differentSymbolsNaive = str => [...new Set(str)].length;
differentSymbolsNaive('cabca'); // 3
Take a swing at Challenge 17 ・・・↑ Back to the Table of Contents ↑
🎅🏻 チャレンジ18:配列前より少ない
const arrayPreviousLess = nums => nums.map((e,i,a) => a[i-1] < e ? a[i-1] : -1);
arrayPreviousLess([3, 5, 2, 4, 5]); // [-1, 3, -1, 2, 4]
Take a swing at Challenge 18 ・・・↑ Back to the Table of Contents ↑
🐫 シューチャレンジ19:アルファベットサブシーケンス
const alphabetSubsequence = str => str === [...new Set(str)].sort().join('');
alphabetSubsequence('effg'); // false
alphabetSubsequence('cdce'); // false
alphabetSubsequence('ace'); // true
Take a swing at Challenge 19 ・・・↑ Back to the Table of Contents ↑
✨ チャレンジ20:ドメインタイプ
const domainType = (domains, domainTypes = { com: "commercial", net: "network", org: "organization", info: "information" }) => domains.map(e => e.split('.')[e.split('.').length-1]).map(e => domainTypes[e]);
domainType(["en.wiki.org", "codefights.com", "happy.net", "code.info"]); // ["organization", "commercial", "network", "information"]
Take a swing at Challenge 20 ・・・↑ Back to the Table of Contents ↑
🦃 チャレンジ21:2の合計
const sumOfTwo = (nums1, nums2, value) => nums1.map(e => nums2.map(f => e + f)).flat().some(e => e === value);
sumOfTwo([1, 2, 3], [10, 20, 30, 40], 42); // true
Take a swing at Challenge 21 ・・・↑ Back to the Table of Contents ↑
👼 チャレンジ22:マトリックスカラムの抽出
const extractMatrixColumn = (matrix, column) => matrix.map(e => e[column]);
extractMatrixColumn([[1, 1, 1, 2], [0, 5, 0, 4], [2, 1, 3, 6]], 2); // [1, 0, 3]
Take a swing at Challenge 22 ・・・↑ Back to the Table of Contents ↑
🌠 ノーチャレンジ23:ソーシャルメディア入力
Take a swing at Challenge 23 ・・・↑ Back to the Table of Contents ↑
💯 チャレンジチャレンジボーナス:あなたの敏捷性をテスト
Take a swing at this Challenge BONUS ・・・↑ Back to the Table of Contents ↑
☃️ ナンバーチャレンジ24:連続最大
const arrayMaxConsecutiveSum = (nums, elementCount) => Array(nums.length - elementCount + 1).fill().map((_,i) => nums.slice(i, i + elementCount)).map(e => e.reduce((a,b) => a + b, 0)).reduce((a,b) => a > b ? a : b);
arrayMaxConsecutiveSum([2, 3, 5, 1, 6], 2); // 8
Take a swing at Challenge 24 ・・・↑ Back to the Table of Contents ↑Reference
この問題について(Scrimbaの2020年までの私のシンプルなエントリ), 我々は、より多くの情報をここで見つけました https://dev.to/brandonmcconnell/my-simplistic-entries-for-scrimba-s-2020-javascriptmas-advent-calendar-63テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol