偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

用數(shù)組 Every 方法好多年,發(fā)現(xiàn)自己的理解是錯的

開發(fā) 前端
空真(Vacuous truth) 是一個數(shù)學(xué)概念,它意味著若給定條件(稱為前提)不能滿足(比如給定條件不為真),則某事為真。用 JS 的術(shù)語來說,every() 返回 true,是因為它無法調(diào)用回調(diào)?;卣{(diào)表示要測試的條件,如果因為數(shù)組中沒有值而無法執(zhí)行,那么 every() 必須返回 true。

大家好,我是林三心,用最通俗易懂的話講最難的知識點是我的座右銘,基礎(chǔ)是進階的前提是我的初心~

背景

今天在開發(fā)項目的時候,我的組員造成了一個BUG,原因是用了一個挺常用的數(shù)組方法:ervey,相信大家都見過,或者都用過,它經(jīng)常跟 some 成雙出現(xiàn),我們理解這兩個方法是:

  • every: 判斷數(shù)組每一項是否符合條件
  • some: 判斷數(shù)組是否至少有一個符合條件

可以通過一個小例子來認識,我準備了一個用戶數(shù)組,我分別想做兩件事:

1、判斷是否所有人都成年了

2、判斷是否有人大于20歲

圖片圖片

有坑?

再來項目中搞的代碼吧,邏輯也跟上述例子差不多,就是通過請求獲取一組用戶,并判斷這組用戶是否全都已成年

圖片圖片

但是這個代碼卻出現(xiàn)了BUG,什么呢?就是當(dāng) users 是空數(shù)組的時候,every 會返回 true?。?!不信我們可以看看

圖片圖片

我當(dāng)時看到了,也感覺挺不解的,按理說,every: 判斷數(shù)組每一項是否符合條件,那如果數(shù)組為空的話,那就是沒有一個符合條件的,不應(yīng)是返回 false 嗎,不過先不管,先改BUG 先,后面再去想了,加個長度判斷,先解決BUG先

圖片圖片

空數(shù)組,every 返回 true?

我們先來看一下ECMA-262定義的Array.prototype.every

圖片圖片

可以看到,every 是判斷每一次執(zhí)行循環(huán)函數(shù)是否有 false 返回,有的話直接返回 false,如果一個 false 都沒有,那就返回 true

關(guān)于空數(shù)組調(diào)用 every() 返回 true 的原因,MDN 網(wǎng)頁 提供了答案:

every 的作用就像數(shù)學(xué)中的“for all”量詞。特別是,對于空數(shù)組,它返回 true。(地球人都知道,空集的所有元素都滿足任何給定的條件。)

空真(Vacuous truth) 是一個數(shù)學(xué)概念,它意味著若給定條件(稱為前提)不能滿足(比如給定條件不為真),則某事為真。用 JS 的術(shù)語來說,every() 返回 true,是因為它無法調(diào)用回調(diào)?;卣{(diào)表示要測試的條件,如果因為數(shù)組中沒有值而無法執(zhí)行,那么 every() 必須返回 true。

全稱量詞 是數(shù)學(xué)中一個更大主題的一部分,它允許您對數(shù)據(jù)集進行推理??紤]到 JS 數(shù)組對于執(zhí)行數(shù)學(xué)計算的重要性,尤其是類型化數(shù)組,為此類操作提供內(nèi)置支持是有意義的。every() 不是孤例。

改變思維

以前我人為的:every 判斷數(shù)組每一項是否符合條件

但是我覺得我不應(yīng)該那么理解,我應(yīng)該理解為:every 判斷數(shù)組是否至少有一個不符合條件,這么去理解的話,自然就能知道為什么空數(shù)組是返回 true了,因為就沒有不符合條件的,當(dāng)然就是返回 true 啦~

責(zé)任編輯:武曉燕 來源: 前端之神
相關(guān)推薦

2019-11-26 08:56:32

聯(lián)通攜號通信

2015-11-16 13:31:24

大數(shù)據(jù)騙局

2022-04-21 07:52:08

JS線程GUI渲染

2021-03-18 22:37:09

運營商5G手機

2018-05-25 10:24:35

職場技能互聯(lián)網(wǎng)

2013-12-26 10:04:13

大數(shù)據(jù)

2012-03-08 10:00:32

imo

2025-01-26 12:33:17

2011-05-16 16:59:41

SEO

2019-10-25 15:44:10

Pythonnumpy數(shù)組分析

2025-05-14 01:45:00

2015-03-09 09:50:15

開源

2017-05-23 14:34:58

python大數(shù)據(jù)UUID

2021-04-22 08:45:38

架構(gòu)交易中臺

2020-09-03 06:37:37

MySQL版本生產(chǎn)環(huán)境

2023-10-24 17:49:12

人工智能GenAI

2015-06-08 11:04:21

隱私隱私保護隱私安全

2012-03-05 15:18:27

網(wǎng)卡光纖卡虛擬交換機

2023-09-19 08:03:01

JavaScriptevery()

2017-07-18 16:44:38

英特仿真華為大數(shù)據(jù)
點贊
收藏

51CTO技術(shù)棧公眾號