簡(jiǎn)介
數(shù)組、every、any
判斷一個(gè)數(shù)組中是否都滿足特定的條件,如果滿足則返回 true 否則返回 false。
// 該源碼來自于 https://30secondsofcode.org const all = (arr, fn = Boolean) => arr.every(fn)代碼分析
Array.prototype.every(callback[, thisArg]) 這個(gè)函數(shù)在 ES2015 中正式被實(shí)現(xiàn)需要注意環(huán)境是否支持。
callback 被調(diào)用時(shí)傳入三個(gè)參數(shù):元素值,元素的索引,原數(shù)組。
every 方法為數(shù)組中的每個(gè)元素執(zhí)行一次 callback 函數(shù),直到它找到一個(gè)使 callback 返回 false(表示可轉(zhuǎn)換為布爾值 false 的值)的元素。
有的同學(xué)會(huì)說了,這個(gè) all 函數(shù) 和 直接使用 Array.prototype.every 有什么區(qū)別呢?答案就在fn = Boolean 這個(gè)點(diǎn)睛之筆,總所周知 javascript 中的對(duì)象其實(shí)是一種特殊的函數(shù),利用 Boolean 這個(gè)對(duì)象可以非常方便對(duì)數(shù)據(jù)進(jìn)行格式化為 boolean 并返回值。every 函數(shù)不能在沒有 callback 時(shí)進(jìn)行調(diào)用,這個(gè)函數(shù)更多的是拓展了 every。
使用場(chǎng)景一個(gè)簡(jiǎn)單的微商場(chǎng)景,獲得當(dāng)前用戶的所有下級(jí)并判斷是否所有人都超過 平臺(tái)規(guī)定的最低銷售額,如果滿足則可以獲得特定的獎(jiǎng)金獎(jiǎng)勵(lì)。
const MIN_SALES = 100000 // 100000 分錢 // 抽取 const disciples = [ { name: "xiaoer", sales: 100000 }, { name: "xiaosi", sales: 50000 }, { name: "menty", sales: 150000 }, ] const canAward = all(disciples, (item, index, origin) => { return item.sales > MIN_SALES })相似代碼
判斷一個(gè)數(shù)組中是否有一個(gè)滿足的數(shù)據(jù),如果滿足則返回 true 否則返回 false
// 該源碼來自于 https://30secondsofcode.org const any = (arr, fn = Boolean) => arr.some(fn)
判斷一個(gè)數(shù)組中所有數(shù)據(jù)是否相等。
// 該源碼來自于 https://30secondsofcode.org const allEqual = arr => arr.every(val => val === arr[0])一起成長(zhǎng)
在困惑的城市里總少不了并肩同行的 伙伴 讓我們一起成長(zhǎng)。
如果您想讓更多人看到文章可以點(diǎn)個(gè) 點(diǎn)贊。
如果您想激勵(lì)小二可以到 Github 給個(gè) 小星星。
如果您想與小二更多交流添加微信 m353839115。
本文原稿來自 PushMeTop
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/102372.html
簡(jiǎn)介 數(shù)組、拆分 根據(jù)條件將數(shù)組分成兩個(gè)集合。 // 該源碼來自于 https://30secondsofcode.org const bifurcateBy = (arr, fn) => arr.reduce((acc, val, i) => (acc[fn(val, i) ? 0 : 1].push(val), acc), [[], []]) 代碼分析 這個(gè)代碼主要是利用了 Array.p...
showImg(https://segmentfault.com/img/remote/1460000018771037?w=900&h=500); 簡(jiǎn)介 benchmark、基準(zhǔn)測(cè)試、jsPerf 在 優(yōu)雅插入數(shù)組 一文中大家最多的評(píng)論就是 能不能加個(gè)基準(zhǔn)測(cè)試。小二不是不喜歡加基準(zhǔn)測(cè)試而是現(xiàn)在硬件設(shè)備的性能越來越快了,有時(shí)候一些操作不是性能問題的主要原因,當(dāng)然這不是我們不寫出好代碼的理由。 書寫...
showImg(https://raw.githubusercontent.com/pushmetop/resource/master/30-seconds-for-everyday/chunk/poster.png); 簡(jiǎn)介 數(shù)據(jù)分割、分頁(yè)、異步操作、DOM優(yōu)化 把數(shù)組按指定大小進(jìn)行分組,可以用于分頁(yè)、數(shù)據(jù)切割、異步操作數(shù)據(jù)。 // 該源碼來自于 https://30secondsofcode....
摘要:如果我們需要只去查詢存在字段并且字段的值為的記錄,需要配合操作。的對(duì)象和一些更新的操作符如等,也可以理解為查詢內(nèi)后面的可選,這個(gè)參數(shù)的意思是,如果不存在的記錄,是否插入為插入,默認(rèn)是,不插入??蛇x,拋出異常的級(jí)別。 更多內(nèi)容歡迎來到博客 :https://imjianjian.github.io MongoDB版本:3.4 查詢文檔 find() 查詢所有 db.collection...
簡(jiǎn)介 字符串、數(shù)字、數(shù)組、對(duì)象、時(shí)間、類型、等于 科學(xué)家發(fā)現(xiàn),人腦中會(huì)分泌多種能讓人感到快樂、安全和成就感的物質(zhì),這些物質(zhì)統(tǒng)稱為快樂素。通常情況下,快樂素的釋放水平很低,維持我們心情平靜。只有當(dāng)我們完成了預(yù)設(shè)目標(biāo),作為獎(jiǎng)勵(lì),大腦才會(huì)增加快樂素的分泌,讓人感受到滿足和成功的喜悅。 這是之前看到的一篇關(guān)于 大腦獎(jiǎng)勵(lì)機(jī)制 文章的一段話,為了要獲得獎(jiǎng)勵(lì)我們需要有預(yù)設(shè)目標(biāo),而是每日 30 秒系列也是為了幫助...
閱讀 1141·2021-09-22 16:04
閱讀 1519·2019-08-30 15:43
閱讀 1136·2019-08-29 14:01
閱讀 3465·2019-08-26 12:19
閱讀 3382·2019-08-26 12:15
閱讀 1472·2019-08-26 12:13
閱讀 3295·2019-08-23 17:00
閱讀 1514·2019-08-23 15:38