<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          18個有用的JavaScript片段

          共 3402字,需瀏覽 7分鐘

           ·

          2020-08-31 20:21

          英文 |?https://medium.com/javascript-in-plain-english/18-useful-javascript-snippets-for-common-tasks-you-can-use-from-today-96fa03ce3df6

          譯文 |?https://juejin.im/post/6862577796279959566


          如果有人問我,作為一個初學(xué)者應(yīng)該學(xué)習(xí)什么編程語言,我會推薦 JavaScript,這種強大的語言幾乎涉及到編程各個方面 - 前端、后端、web應(yīng)用程序、桌面應(yīng)用程序、移動應(yīng)用程序等等。

          這篇文章我將展示18個常用的JavaScript片段,在日常開發(fā)工作中,它們?yōu)槲掖蟠蠊?jié)省了時間。

          1. maxItemOfArray

          獲取數(shù)組中的最大數(shù)字

          const maxItemOfArray = (arr) => arr.sort((a, b) => b - a)[0];let maxItem = maxItemOfArray([3, 5, 12, 5]);

          2. areAllEqual

          檢查數(shù)組的所有項是否相等

          const areAllEqual = array => array.every(item => item === array[0]);let check1 = areAllEqual([3, 5, 2]); // falselet check2 = allEqual([3, 3, 3]); // true

          3. averageOf

          求給定數(shù)字的平均值

          const averageOf = (…numbers) => numbers.reduce((a, b) => a + b, 0) / numbers.length;let average = averageOf(5, 2, 4, 7); // 4.5

          4. reverseString

          反轉(zhuǎn)一個字符串

          const reverseString = str => […str].reverse().join(‘’);let a = reverseString(‘Have a nice day!’); // !yad ecin a evaH

          5. sumOf

          求給定數(shù)字的和

          const sumOf = (…numbers) => numbers.reduce((a, b) => a + b, 0);let sum = sumOf(5, -3, 2, 1); // 5

          6. findAndReplace

          在字符串中查找給定的單詞,并替換為另一個單詞

          const?findAndReplace?=?(string,?wordToFind,?wordToReplace)?=>?string.split(wordToFind).join(wordToReplace);let result = findAndReplace(‘I like banana’, ‘banana’, ‘a(chǎn)pple’); // I like apple

          7. RGBToHex

          將RGB模式下的顏色轉(zhuǎn)換為十六進制

          const RGBToHex = (r, g, b) => ((r << 16) + (g << 8) + b).toString(16).padStart(6, ‘0’);let hex = RGBToHex(255, 255, 255); // ffffff

          8. shuffle

          音樂播放器如何隨機播放播放項目?

          const shuffle = ([…array]) => { let m = array.length;
          while (m) { const i = Math.floor(Math.random() * m — ); [array[m], array[i]] = [array[i], array[m]]; } return array;};shuffle([5, 4, 3, 6, 20]);

          9. removeFalseValues

          從數(shù)組中刪除false值,包括false,undefined,NaN,empty

          const removeFalseValues = arr => arr.filter(item => item);let arr = removeFalseValues([3, 4, false, ‘’, 5, true, undefined, NaN, ‘’]); // [3, 4, 5, true]

          10. removeDuplicatedValues

          從數(shù)組中刪除重復(fù)的項

          const removeDuplicatedValues = array => […new Set(array)];let arr = removeDuplicatedValues([5, 3, 2, 5, 6, 1, 1, 6]); // [5, 3, 2, 6, 1]

          11. getTimeFromDate

          以日期對象的字符串形式返回時間

          const getTimeFromDate = date => date.toTimeString().slice(0, 8);let time = getTimeFromDate(new Date()); // 09:46:08

          12. capitalizeAllWords

          將字符串中所有單詞的第一個字母大寫

          const capitalizeAllWords = str => str.replace(/\b[a-z]/g, char => char.toUpperCase());let str = capitalizeAllWords(‘i love reading book’); // I Love Reading Book

          13. getDayDiff

          返回兩個日期之間以天為單位的差值

          const getDayDiff = (date1, date2) => ((date2 - date1) / (1000 * 3600 * 24));let?diff?=?getDayDiff(new?Date('2020-04-01'),?new?Date('2020-08-15'));?//?136

          14. radianToDegree

          把弧度轉(zhuǎn)換成角度

          const radianToDegree = radian => (radian * 180.0) / Math.PI;let degree = radianToDegree(2.3); // 131.78

          15. isValidJSON

          檢查給定字符串是否是有效的JSON

          const isValidJSON = string => { try { JSON.parse(string); return true; } catch (error) { return false; }};let check1 = isValidJSON(‘{“title”: “javascript”, “price”: 14}’); // truelet check2 = isValidJSON(‘{“title”: “javascript”, “price”: 14, sub title}’); // false

          16. toWords

          將給定的字符串轉(zhuǎn)換為單詞數(shù)組

          const toWords = (string, pattern = /[^a-zA-Z-]+/) => string.split(pattern).filter(item => item);let words = toWords(‘I want to be come a great programmer’); // [“I”, “want”,“to”, “be”, “come”, “a”, “great”, “programmer”]

          17. scrollToTop

          位于長頁面的底部,并且想快速向上滾動至頂部

          const scrollToTop = () => { const t = document.documentElement.scrollTop || document.body.scrollTop; if (t > 0) { window.requestAnimationFrame(scrollToTop); window.scrollTo(0, t — t / 8); }};

          18. isValidNumber

          驗證數(shù)字是否有效

          const isValidNumber = n => !isNaN(parseFloat(n)) && isFinite(n) && Number(n) === n;let check1 = isValidNumber(10); // truelet check2 = isValidNumber(‘a(chǎn)’); // false

          如果你有自己的有用代碼片段,請在下面的評論中告訴我。


          瀏覽 83
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  久热天堂| 亚洲综合内射在线 | www| 俺也去最新网址 | 亚洲无码免费视频在线播放 |