精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

在 JS 中檢查變量是否為數組的多種方式,并說說 ES6 引入檢查數組的緣起!

開發 前端
下面的代碼片段用于檢查變量或值是否為數組。在主流的瀏覽器可以使用Array.isArray方法。對于較舊的瀏覽器,可以使用polyfill。

 [[338276]]

下面的代碼片段用于檢查變量或值是否為數組。在主流的瀏覽器可以使用Array.isArray方法。對于較舊的瀏覽器,可以使用polyfill

  1. const variable = ['🍝''🍜''🍲']; 
  2.  
  3. // 主流瀏覽器 
  4. Array.isArray(variable); 
  5.  
  6. // 老式瀏覽器 
  7. Object.prototype.toString.call(variable) === '[object Array]'

檢查數組的現代方法

檢查數組的最佳方法是使用內置的Array.isArray()

  1. Array.isArray([]); // true 
  2. Array.isArray(['🍝']); // true 
  3. Array.isArray(new Array('🍝')); // true 

瀏覽器支持

瀏覽器對 Array.isArray()的支持非常好 

適用于舊版瀏覽器的 Polyfill

如果需要讓較早的瀏覽器支持,則可以使用此MDN polyfill。

  1. if (!Array.isArray) { 
  2.   Array.isArray = function(org) { 
  3.     return Object.prototype.toString.call(org) === '[object Array]' 
  4.   } 

其它方式:使用 Lodash 或 Underscore

如果你使用的是外部庫,它們也有一些內置方法??

Lodash

檢查值是否為數組對象。

  1. const array = ['🍝''🍜''🍲']; 
  2. const notArray = 'not array'
  3.  
  4. _.isArray(array); // true 
  5. _.isArray(notArray); // false 

Underscore

如果對象是數組,返回 true。

  1. const array = ['🍝''🍜''🍲']; 
  2. const notArray = 'not array'
  3.  
  4. _.isArray(array); // true 
  5. _.isArray(notArray); // false 

為什么我們不能使用typeof?

通常,我們要檢查值的類型,我們只需使用 typeof

  1. typeof 'string'; // 'string' 
  2. typeof 100; // 'number' 
  3. typeof true; // 'boolean' 
  4. typeof false; // 'boolean' 
  5. typeof function() {}; // 'function' 
  6. typeof {}; // 'object' 
  7.  
  8. typeof []; // 'object' <-- 😱 

問題是數組實際上處于 Object 數據類型的保護傘之下。所以typeof 返回值是沒問題。不幸的是,這對我們并沒有什么幫助,因為我們只想檢查值是不是數組。

typeof

Type 例子 返回值
String typeof "hello" "string"
Boolean typeof true
 typeof false
"boolean"
Number typeof 100 "number"
Undefined typeof undefined "undefined"
Function typeof function() {} "function"
Null typeof null "object"
非基本類型 typeof {}
typeof []
"object"

基本類型

在 JS 中有 6 種基本數據類型

  1. string
  2. number
  3. bigint
  4. boolean
  5. undefined
  6. symbol

非基本類型 (對象)

對象是指包含數據和使用數據的指令的數據結構。它們是通過引用存儲的

我比較喜歡稱它為“非基本類型 ”,但它們被稱為Object。

  1. object
  2. array
  3. function

盡管當我們在函數上使用typeof來檢查函數的類型,它返回“ function”,但實際上它是一個對象。

》 MDN:盡管每個 Function 構造函數都是從 Object 構造函數派生的,但它是Function的特殊簡寫形式。

代碼診斷

我收到了很多開發都提供用來檢查Array的不同解決方案。乍一看,它們似乎是不錯的解決方案。有點遺憾的是,有些問題或極端情況使它們不理想。

Array.length 的問題

  1. const array = ['🍝''🍜''🍲']; 
  2.  
  3. array.length; // 3 

如果數組有長度,我們可以假設它是數組?

遺憾的是,此解決方案的問題在于還有其他具有長度即即的數據類型,如:字符串。因此,這可能導致誤報。

  1. const string = 'not array'
  2.  
  3. string.length; // 9 

即使一個對象也可以有length屬性:

  1. const object = { length: 2 }; 
  2. const array = ['🍝''🍜''🍲']; 
  3.  
  4. typeof array === 'object' && Boolean(array.length); // true 
  5. typeof object === 'object' && Boolean(object.length); // true <-- 😱 

instanceof 的問題

  1. const array = ['🍝''🍜''🍲']; 
  2.  
  3. array instanceof Array; // true 

這種方法在 ES5 很常見, 在許多情況下,這種可以很好的工作。但是,這有一個陷阱!它不適用于多個上下文(例如 框架 或windows)。因為每個框架在其自己的執行環境中都有不同的作用域。因此,它具有不同的全局對象和不同的構造函數。因此,如果嘗試針對該框架的上下文測試數組,則該數組不會返回true,而會錯誤地返回false。

window.frames: frames[] 是窗口中所有命名的框架組成的數組。這個數組的每個元素都是一個Window對象,對應于窗口中的一個框架。

  1. const frameNode = document.createElement('iframe'); // 創建一個iframe元素節點 
  2. document.body.appendChild(frameNode); 
  3. // 從我們當前的窗口訪問框架 
  4. const frameBrowser = window.frames[window.frames.length - 1]; 
  5. // 訪問我們創建的框架的“數組”對象 
  6. frameArray = frameBrowser.Array;  
  7.  
  8. // 在我們的框架環境中創建一個新的數組 
  9. const newFrameArray = new frameArray('🍝''🍜''🍲'); 
  10.  
  11. newFrameArray instanceof Array; // ❌ false 
  12.  
  13. Array.isArray(newFrameArray); // ✅ true 

構造函數的問題

  1. const array = ['🍝''🍜''🍲']; 
  2.  
  3. array.constructor === Array; // true 

這是另一個很好的解決方案。不幸的是,這和instanceof有同樣的問題。它也不能在多個上下文中工作。

  1. // ... 
  2.  
  3. newFrameArray.constructor === Array; // ❌ false 
  4.  
  5. Array.isArray(newFrameArray); // ✅ true 

作者:Samantha Ming 譯者:前端小智 來源:medium

原文:https://www.samanthaming.com/tidbits/89-how-to-check-if-variable-is-array/

本文轉載自微信公眾號「大遷世界」,可以通過以下二維碼關注。轉載本文請聯系大遷世界公眾號。

 

責任編輯:武曉燕 來源: 大遷世界
相關推薦

2021-01-28 07:52:39

JS數組變量

2020-09-26 22:12:57

JavaScript變量數字

2022-06-01 09:06:58

ES6數組函數

2009-11-24 17:52:46

PHP函數in_arr

2024-01-08 16:27:59

ES6函數

2020-06-22 08:35:22

工具漏洞開發

2020-08-19 08:29:22

JavaScript 對象函數

2022-05-24 08:31:05

C語言檢查數組

2023-11-04 16:26:18

C語言數組

2009-11-25 11:42:34

PHP判斷數組為空

2021-08-02 05:51:29

foreachES6數組

2010-09-10 09:47:14

SQL變量指示

2022-06-01 08:12:32

JS類數組對象

2021-04-20 09:48:48

ES5Es6數組方法

2022-10-25 08:02:01

JavaScriptArrayMap

2019-12-02 18:45:38

JavaScript開發數組

2020-06-24 08:27:36

ES數組對象

2021-02-05 23:08:10

JS代碼循環

2021-04-01 17:04:34

Javascript語法數組

2017-02-08 11:30:51

PHP判斷數組
點贊
收藏

51CTO技術棧公眾號

免费黄视频在线观看| 91九色偷拍| 人妻少妇无码精品视频区| 免费视频观看成人| 亚洲特黄一级片| 精品一区国产| 国产精品久久久久久免费| 狠狠入ady亚洲精品| 亚洲天堂男人天堂| 四川一级毛毛片| 另类专区亚洲| 一区二区激情小说| 视频三区二区一区| 日本波多野结衣在线| 美女一区二区三区在线观看| 欧美激情乱人伦| 精品无码在线观看| 久久久久高潮毛片免费全部播放| 欧美影视一区在线| 欧美激情 国产精品| 国产鲁鲁视频在线观看特色| 久久久精品国产免费观看同学| 99久久99久久| 91精品中文字幕| 久久精品人人| 97国产成人精品视频| 久草福利资源在线| 国产99久久久国产精品成人免费| 欧美一区二区久久| 激情五月婷婷久久| 中文在线а√在线8| 一区二区三区免费网站| 亚洲一区二区三区免费看| 无码精品视频一区二区三区| 国产成人午夜电影网| 国产精品视频久久久| 日本中文在线播放| 国产精品国产三级国产在线观看| 亚洲男人的天堂在线| 中国xxxx性xxxx产国| 精品国产伦一区二区三区观看说明 | 亚洲国产视频a| 中文字幕欧美日韩一区二区| 成人免费一区二区三区视频网站| 91丨porny丨首页| 国产一区自拍视频| 亚洲狼人综合网| 国产成人8x视频一区二区| 成人看片人aa| 91在线观看喷潮| 精品亚洲成av人在线观看| 国产精品久久久久久久久久新婚 | 黄色香蕉视频在线观看| 欧美一区二区三| 中日韩美女免费视频网址在线观看 | 三级视频在线看| 91在线你懂得| 蜜桃视频在线观看91| 视频二区在线| 2023国产精华国产精品| 欧美日韩国产在线观看| 亚洲视频一二三四| 91麻豆精品国产综合久久久 | 91福利免费观看| 成人午夜888| 欧美一区欧美二区| 精品人妻一区二区三| **精品中文字幕一区二区三区| 欧美视频一区二区三区在线观看| 性欧美1819| 久久九九精品视频| 精品久久久久久久人人人人传媒 | 欧美激情欧美激情| 动漫精品一区一码二码三码四码| 亚洲国产日本| 日本欧美中文字幕| 亚洲一区精品在线观看| 国产专区欧美精品| 国产精品永久入口久久久| 亚洲日本在线播放| 国产日韩成人精品| 欧美性受黑人性爽| 国产高清自产拍av在线| 在线观看亚洲精品视频| 在线观看免费视频污| 超碰97久久| 亚洲一二三在线| 91高清免费观看| 国产日韩欧美在线播放不卡| 国产精品激情自拍| 99er热精品视频| 91啪亚洲精品| 黄色网络在线观看| 少妇淫片在线影院| 7777精品伊人久久久大香线蕉超级流畅| 能看毛片的网站| 精品综合久久88少妇激情| 亚洲一区999| 久久久久久免费观看| 三级欧美在线一区| 91久久精品国产91久久性色tv | wwwwxxxxx欧美| 在线日韩av永久免费观看| 暧暧视频在线免费观看| 欧美日韩久久久| 菠萝菠萝蜜网站| 亚洲情侣在线| 国产成人精品在线| 亚洲精品一区二区三区区别| 欧美激情在线观看视频免费| 久久这里只有精品23| 少妇高潮一区二区三区99| 精品小视频在线| 国产黄色片在线免费观看| 久久午夜精品一区二区| 国产精品久久久久久久天堂第1集| 黄色片在线免费观看| 亚洲福利视频一区| 欧洲在线免费视频| 成人羞羞视频在线看网址| 欧美日韩成人精品| 一女二男一黄一片| 国产欧美1区2区3区| r级无码视频在线观看| 久久天堂久久| 久久精品2019中文字幕| 日本中文字幕在线观看视频| 99re这里只有精品首页| 少妇久久久久久被弄到高潮| 日韩精品一页| 亚洲一区www| 无码人妻精品一区二区三区不卡| 99久久精品一区| 中文精品无码中文字幕无码专区| 成人免费观看49www在线观看| 中文字幕欧美在线| 国产又粗又猛又黄视频| 久久综合一区二区| 精品国产免费av| 欧洲在线一区| 欧美一级淫片丝袜脚交| 亚洲欧美日韩动漫| 欧美日韩激情网| 三级男人添奶爽爽爽视频| 亚洲精选成人| 精品九九九九| 在线看片国产福利你懂的| 亚洲国产精品va在线看黑人动漫| 国产极品在线播放| 成人av电影在线播放| 日韩成人手机在线| 国产成人一二| 欧美亚洲国产另类| 毛片在线播放网站| 在线观看亚洲成人| 亚洲色图日韩精品| 激情文学综合插| 欧洲美女和动交zoz0z| 日韩高清在线观看一区二区| 欧美日韩国产91| 黑人操亚洲女人| 欧美日韩一区二区三区在线免费观看| 中国av免费看| 日av在线不卡| 福利网在线观看| 日韩欧美中文在线观看| 欧美精品电影在线| 亚洲 小说区 图片区 都市| 日韩欧美国产骚| 国产三级黄色片| 国内一区二区在线| 天堂8在线天堂资源bt| 美国成人xxx| 国产成人福利视频| 日本精品一区二区三区在线播放| 91精品国产高清一区二区三区| 中文字幕在线观看成人| av高清久久久| 另类小说第一页| 中文在线日韩| 蜜桃视频在线观看成人| 欧美日韩视频免费看| 久久不射热爱视频精品| 日本wwwxxxx| 欧美亚洲精品一区| 青青草偷拍视频| www激情久久| 一级片黄色免费| 99精品国产99久久久久久福利| 乱一区二区三区在线播放| 久久伊人国产| 97视频色精品| 日本成a人片在线观看| 欧美videos大乳护士334| av黄色在线播放| 自拍偷拍亚洲欧美日韩| 毛茸茸多毛bbb毛多视频| 麻豆国产91在线播放| 欧美国产日韩激情| 日韩在线不卡| 久久精品日韩| 日韩精品视频一区二区三区| 日本久久久久久久久| 影音先锋男人在线资源| 国产亚洲欧洲高清| 开心激情综合网| 欧美日本精品一区二区三区| 亚洲天堂视频网站| 一区二区三区精品在线观看| 你懂得视频在线观看| 波多野结衣一区二区三区| 激情五月俺来也| 欧美中文日韩| www.xxx麻豆| 国产国产精品| 欧洲精品亚洲精品| 国产精品99久久免费观看| 成人免费网视频| 影视一区二区三区| 91a在线视频| 久久av色综合| 九色精品美女在线| 黄色网在线免费看| 深夜福利国产精品| 欧美91精品久久久久国产性生爱| 精品久久久久久久人人人人传媒 | 一区二区在线观看网站| 蜜桃tv一区二区三区| 懂色中文一区二区三区在线视频 | 欧美一级在线视频| 中文字幕激情视频| 色av一区二区| 国产免费一区二区三区四区五区| 天涯成人国产亚洲精品一区av| 九九免费精品视频| 亚洲三级小视频| 99久久久免费精品| 国产精品人成在线观看免费| 国产毛片欧美毛片久久久| 久久中文娱乐网| 国产乱了高清露脸对白| 成人精品国产福利| 成年女人免费视频| 成人黄色av电影| 亚洲啪av永久无码精品放毛片 | 久久电影国产免费久久电影| 青青草精品视频在线观看| 久久午夜视频| 国产视频在线视频| 肉肉av福利一精品导航| 中文字幕网av| 麻豆成人免费电影| 国产精品一区二区小说| 免费成人小视频| 激情五月俺来也| 国产在线一区二区综合免费视频| 欧美激情国内自拍| 国产麻豆9l精品三级站| 午夜激情影院在线观看| 久久草av在线| 久久久久久久久久毛片| 丰满白嫩尤物一区二区| 50一60岁老妇女毛片| 91在线观看免费视频| 亚洲 小说 欧美 激情 另类| 国产精品免费视频网站| 亚洲色偷偷综合亚洲av伊人| 亚洲美女偷拍久久| 国产在线观看免费视频今夜| 夜夜操天天操亚洲| 日本午夜视频在线观看| 色琪琪一区二区三区亚洲区| 中文字幕丰满人伦在线| 91精品国产色综合久久不卡电影 | 久久精品99国产精品酒店日本| 182tv在线播放| 91精品国产高清| 国产成+人+综合+亚洲欧美| 亚洲综合第一页| 欧美午夜18电影| 亚洲国产婷婷香蕉久久久久久99 | 欧美激情一区二区三区全黄| 亚洲xxxx3d动漫| 精品毛片网大全| 中文字字幕在线观看| 精品噜噜噜噜久久久久久久久试看| 四虎精品一区二区三区| 在线观看精品国产视频| 午夜羞羞小视频在线观看| 免费91在线视频| 中文一区一区三区高中清不卡免费| 国产欧美日韩91| 国产精品chinese在线观看| 日韩欧美三级一区二区| 国内精品美女在线观看| 蜜臀视频一区二区三区| 国产成人在线影院| 成年人免费观看视频网站| 怡红院av一区二区三区| 波多野结衣理论片| 精品精品欲导航| 视频免费一区| 热久久免费视频精品| 网站一区二区| 日韩一二三区不卡在线视频| 激情成人综合| 热久久久久久久久| 久久色视频免费观看| 激情综合网五月天| 欧美性猛片xxxx免费看久爱| 日本人妻丰满熟妇久久久久久| 精品国模在线视频| a日韩av网址| 国产欧美在线一区二区| 欧美freesextv| 黄色av免费在线播放| 不卡av在线网| 极品盗摄国产盗摄合集| 欧美性感一区二区三区| 欧美伦理影视网| 韩国精品久久久999| 精品国产亚洲一区二区三区在线| 日韩高清国产精品| 国产一区二区高清| 国产婷婷在线观看| 亚洲免费在线观看| 一级特黄aa大片| 中文字幕在线国产精品| 播放一区二区| 天堂av一区二区| 久久免费高清| 熟女少妇一区二区三区| 欧美日韩午夜剧场| 色欲av永久无码精品无码蜜桃| 欧美激情视频三区| 日韩中文字幕视频网| 只有这里有精品| 激情文学综合丁香| www欧美com| 欧美一区二区性放荡片| 韩国中文字幕在线| 成人免费观看a| 亚洲精品午夜av福利久久蜜桃| 天天干天天av| 亚洲丝袜另类动漫二区| 一区二区三区播放| 国产精品久久久久久久久妇女| 亚洲一区二区日本| 婷婷亚洲图片| 亚洲欧美一区二区三区不卡| 亚洲欧美日本在线| 国产999久久久| 欧美国产日韩中文字幕在线| 国产欧美自拍一区| 久久成人福利视频| 久久综合九色综合欧美就去吻| 伊人久久综合视频| 国产视频精品久久久| 欧美日韩电影免费看| 性欧美大战久久久久久久免费观看| 日韩av成人高清| 日韩精品123区| 精品国产一区二区亚洲人成毛片| f2c人成在线观看免费视频| 久久精精品视频| 免费看精品久久片| 四虎免费在线视频| 亚洲精品久久久久| 亚洲va中文在线播放免费| 亚洲成人精品电影在线观看| 激情久久五月天| 久久久精品人妻一区二区三区四| 亚洲风情亚aⅴ在线发布| xxxxxx欧美| 一区二区三区四区不卡| 成人综合婷婷国产精品久久| 国内免费精品视频| 中文字幕欧美亚洲| 综合中文字幕| 国产精品亚洲a| 亚洲欧美综合色| 四虎在线免费看| 国产日韩中文字幕| 精品99视频| 摸摸摸bbb毛毛毛片| 日韩视频一区二区在线观看| 欧美xxxhd| 国产又大又长又粗又黄| 不卡免费追剧大全电视剧网站| 黄色av网站免费| 欧美激情视频在线免费观看 欧美视频免费一 | 激情成人四房播| 激情久久av| 黄色日韩网站视频| 免费观看一区二区三区毛片| 久久精品国产96久久久香蕉| 欧美电影免费网站| 国产性生活一级片| 色婷婷av一区| 大桥未久在线播放|