千鋒長(zhǎng)沙Web前端培訓(xùn)班分享:JavaScript常用片段
JavaScript,這種強(qiáng)大的語(yǔ)言幾乎涉及到編程各個(gè)方面:前端、后端、web應(yīng)用程序、桌面應(yīng)用程序、移動(dòng)應(yīng)用程序等等。千鋒長(zhǎng)沙Web前端培訓(xùn)班分享整理了18個(gè)常用的JavaScript片段,在日常開(kāi)發(fā)工作中,它們?yōu)槲掖蟠蠊?jié)省了時(shí)間。
1. maxItemOfArray
獲取數(shù)組中的最大數(shù)字
const maxItemOfArray = (arr) => arr.sort((a, b) => b - a)[0];let maxItem = maxItemOfArray([3, 5, 12, 5]);
2. areAllEqual
檢查數(shù)組的所有項(xiàng)是否相等
const areAllEqual = array => array.every(item => item === array[0]);
let check1 = areAllEqual([3, 5, 2]); // false
let 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)一個(gè)字符串
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
在字符串中查找給定的單詞,并替換為另一個(gè)單詞
const findAndReplace = (string, wordToFind, wordToReplace) => string.split(wordToFind).join(wordToReplace);
let result = findAndReplace(‘I like banana’, ‘banana’, ‘apple’); // I like apple
7. RGBToHex
將RGB模式下的顏色轉(zhuǎn)換為十六進(jì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
音樂(lè)播放器如何隨機(jī)播放播放項(xiàng)目?
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ù)的項(xiàng)
const removeDuplicatedValues = array => […new Set(array)];
let arr = removeDuplicatedValues([5, 3, 2, 5, 6, 1, 1, 6]); // [5, 3, 2, 6, 1]
11. getTimeFromDate
以日期對(duì)象的字符串形式返回時(shí)間
const getTimeFromDate = date => date.toTimeString().slice(0, 8);
let time = getTimeFromDate(new Date()); // 09:46:08
12. capitalizeAllWords
將字符串中所有單詞的首個(gè)字母大寫(xiě)
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
返回兩個(gè)日期之間以天為單位的差值
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
位于長(zhǎng)頁(yè)面的底部,并且想快速向上滾動(dòng)至頂部
const scrollToTop = () => { const t = document.documentElement.scrollTop || document.body.scrollTop; if (t > 0) { window.requestAnimationFrame(scrollToTop); window.scrollTo(0, t — t / 8); }};
18. isValidNumber
驗(yàn)證數(shù)字是否有效
const isValidNumber = n => !isNaN(parseFloat(n)) && isFinite(n) && Number(n) =

猜你喜歡LIKE
相關(guān)推薦HOT
更多>>
前端培訓(xùn)學(xué)費(fèi)高嗎?哪種學(xué)習(xí)方式更省錢(qián)
說(shuō)到培訓(xùn)一詞,不少人會(huì)感覺(jué)到不屑一顧,甚至覺(jué)得任何形式的It培訓(xùn)都是一種智商稅,比如有網(wǎng)友會(huì)咨詢(xún)關(guān)于前端培訓(xùn)學(xué)費(fèi)高嗎這種問(wèn)題,事實(shí)上和后...詳情>>
2023-03-21 10:21:42
長(zhǎng)沙Java培訓(xùn)機(jī)構(gòu)好找工作嗎?看看2022年各大廠(chǎng)程序員社招薪資表
長(zhǎng)沙Java培訓(xùn)機(jī)構(gòu)好找工作嗎?先來(lái)看一張圖:互聯(lián)網(wǎng)大廠(chǎng)技術(shù)線(xiàn)新入職員工職級(jí)薪資對(duì)應(yīng)表,光是這個(gè)數(shù)字都是很多行業(yè)工作兩三年后都可能無(wú)法達(dá)到...詳情>>
2022-03-09 15:04:00
有必要參加長(zhǎng)沙IT培訓(xùn)嗎?今年1000萬(wàn)畢業(yè)生即將畢業(yè)
春暖花開(kāi),又到了即將畢業(yè)的時(shí)候。其實(shí)每一年的高校畢業(yè)生走出學(xué)校,邁進(jìn)社會(huì)的這個(gè)節(jié)點(diǎn),都會(huì)成為討論的焦點(diǎn)。很多想進(jìn)入IT行業(yè)的人都在糾結(jié)一...詳情>>
2022-03-09 14:55:00
長(zhǎng)沙前端培訓(xùn)好找工作嗎?互聯(lián)網(wǎng)從業(yè)者生存現(xiàn)狀究竟如何?
長(zhǎng)沙前端培訓(xùn)好找工作嗎?最近,滴滴、阿里等大廠(chǎng)裁員的消息使得不少互聯(lián)網(wǎng)從業(yè)者人心惶惶,裁員潮是不是意味著整個(gè)大市場(chǎng)的行情不好了呢?詳情>>
2022-03-01 18:02:00熱門(mén)推薦
java開(kāi)發(fā)自學(xué)與培訓(xùn)課程的利弊分析
沸學(xué)程序員對(duì)學(xué)歷有要求嗎?大專(zhuān)生可以學(xué)習(xí)嗎
熱前端培訓(xùn)學(xué)費(fèi)高嗎?哪種學(xué)習(xí)方式更省錢(qián)
熱30歲轉(zhuǎn)行學(xué)it來(lái)得及嗎?可行嗎
新java學(xué)習(xí)難不難?java怎么學(xué)習(xí)
零基礎(chǔ)如何自學(xué)成為程序員?
學(xué)it難不難?未來(lái)發(fā)展前景如何
軟件編程難學(xué)嗎?軟件編程學(xué)什么
學(xué)編程有哪些培訓(xùn)機(jī)構(gòu)?如何選擇靠譜的培訓(xùn)機(jī)構(gòu)
當(dāng)學(xué)術(shù)研究不再是最佳選擇時(shí),研究生如何高水平就業(yè)?
千鋒推出“鋒益擁軍計(jì)劃”,探索教育擁軍新模式
參加長(zhǎng)沙web前端培訓(xùn)班能找到工作不?
長(zhǎng)沙IT培訓(xùn)哪里好?2022年IT技術(shù)崗怎么選?
長(zhǎng)沙Java培訓(xùn)多少錢(qián)?可以自學(xué)Java去求職嗎?
技術(shù)干貨







快速通道 更多>>
-
課程介紹
點(diǎn)擊獲取大綱 -
就業(yè)前景
查看就業(yè)薪資 -
學(xué)習(xí)費(fèi)用
了解課程價(jià)格 -
優(yōu)惠活動(dòng)
領(lǐng)取優(yōu)惠券 -
學(xué)習(xí)資源
領(lǐng)3000G教程 -
師資團(tuán)隊(duì)
了解師資團(tuán)隊(duì) -
實(shí)戰(zhàn)項(xiàng)目
獲取項(xiàng)目源碼 -
開(kāi)班地區(qū)
查看來(lái)校路線(xiàn)