1,Anagramsofstring(有重復項)
使用遞歸。對於給定字符串中的每個字母,會為該字母創建壹個縱橫字謎。使用map()將字母與拼圖的每個部分組合起來,然後使用reduce()將所有拼圖組合成壹個數組。在最基本的情況下,字符串長度等於2或1。
constant agrams = str = & gt;{
if(字符串長度)-& gt;2
將每個單詞的第壹個字母大寫
使用replace()匹配每個單詞的第壹個字符,使用toUpperCase()將其大寫。
constcapitalizeEveryWord = str = & gt;str.replace(/\b,1)-& gt;三
7.當前URL
使用window.location.href獲取當前URL。
constcurrentUrl = _ = & gtwindow . location . href;
//current URL()-& gt;''
8、咖喱
使用遞歸。如果提供的參數(args)數量足夠,則調用傳遞函數f,否則返回簡化的函數f。
constcurry=(fn,arity=fn.length...args)= >
參數數量
fn(...參數)
:curry.bind(null,fn,arity,...args);
//curry(math . pow)(2)(10)-& gt;1024
//curry(Math.min,3)(10)(50)(2)-& gt;2
9、Deepflattenarray
使用遞歸,並使用reduce()獲取所有不是數組的元素。平面是壹個數組。
constdeepFlatten = arr = & gt
arr.reduce((a,v)= & gt;a.concat(Array.isArray(v)?deepFlatten(v):v),
,5])-& gt;
10,數組之間的差
從B創建壹個集合,然後在A上使用Array.filter(),只保留B中不包含的值..
constdifference=(a,b)= >{ consts = newSet(b);返回.過濾器(x
= & gt!s . has(x));};
//差異(,)-& gt;
17,過濾數組中的非唯壹值
對只包含唯壹值的數組使用Array.filter()。
constfilterNonUnique = arr = & gtarr . filter(I = & gt;arr.indexOf(i)===
arr . lastindexof(I));
//filterNonUnique()-& gt;
18,展平數組
使用reduce()獲取數組中的所有元素,並使用concat()使它們變平。
constflatten = arr = & gtarr.reduce((a,v)= & gt;a.concat(v),)-& gt;
19,從數組中獲取最大值
使用Math.max()和spread運算符(...)來獲取數組中的最大值。
constarrayMax = arr = & gtMath.max(...arr);
//array max()-& gt;10
20.從數組中獲取最小值
使用Math.min()和spread運算符(...)來獲取數組中的最小值。
constarrayMin = arr = & gtMath.min(...arr);
//array min()-& gt;1
21,獲取滾動位置
如果定義,請使用pageXOffset和pageYOffset,否則使用scrollLeft和scrollTop,可以省略el使用window的默認值。
constgetScrollPos =(El = window)= & gt;
({x:(el.pageXOffset!= =未定義)?el.pageXOffset:el.scrollLeft,
y:(el.pageYOffset!= =未定義)?El . pageyoffset:El . scroll top });
//getScrollPos()-& gt;{x:0,y:200}
22、最大公約數(GCD)
使用遞歸。基本情況是當y等於0時。在這種情況下,返回x。否則,返回y的GCD和x/y的其余部分。
constgcd=(x,y)= & gt;!y?x:gcd(y,x % y);
//gcd(8,36)-& gt;四
23、頭牌
返回數組[0]
consthead = arr = & gtarr[0];
//head()-& gt;1
24、列表初始化
返回arr.slice(0,-1)
constitinitial = arr = & gt;arr.slice(0,-1);
//initial()-& gt;
以上是邊肖今天為大家分享的關於JavaScript代碼片段(1)的文章。希望這篇文章能對從事Web前端工作的朋友有所幫助。想了解更多web前端的,想了解後面代碼片段的小夥伴,記得關註官網,北大青鳥web的培訓。