摘要:稀疏數(shù)組遍歷上面這段代碼可以看出,在遍歷數(shù)組的時候是會跳過這些空白單元,直接找到下標(biāo)為的值。
js是一門擁有非常強表達能力的語言,當(dāng)你知道你要做什么的時候,它能幫助你更加出色的完成這件事情。當(dāng)然,想要成為一名出色的前端工程師,需要的是更多的精力跟學(xué)習(xí)。所以大家要跟我一起努力哦!
數(shù)組基本了解數(shù)組(array),字符串(string),和數(shù)字(number)算是一個程序最基本的組成部分,這篇文章著重為大家講解一下數(shù)組的使用,畢竟數(shù)組是前端開發(fā)經(jīng)常要接觸的東西嘛(小聲bb 嘻嘻)
和其他強類型語言不同,在javascript中,數(shù)組可以容納任何類型的值,可以是字符串,可以是數(shù)字,可以使對象,也可以是其他的數(shù)組(多維數(shù)組就是通過這種方式實現(xiàn)的)
1. 數(shù)組創(chuàng)建var a = []; //這是一個沒有元素的空數(shù)組示例 var a = [1,2,3]; //這是三個元素的數(shù)組示例 var b = [1,"2",[3,4]]; //這是包含字符串 數(shù)字 嵌套數(shù)組的示例 var a = new Array(); //調(diào)用構(gòu)造函數(shù)Array()創(chuàng)建數(shù)組 調(diào)用時沒有參數(shù) var b = new Array(3); //調(diào)用時有一個數(shù)值參數(shù),它指定長度 var c = new Array(1,2,3); //新創(chuàng)建的數(shù)組的元素就會被初始化為這些值,它的 length 字段也會被設(shè)置為參數(shù)的個數(shù)2. 數(shù)組長度
每個數(shù)組都有一個length屬性,js數(shù)組的長度是沒有上限的,如果你用大于或者等于當(dāng)前l(fā)ength的數(shù)字來儲存一個元素,length值就會增大容納新元素,不會發(fā)生數(shù)組越界的錯誤
//數(shù)組在聲明之后就可以向其中加入值 var arr = []; arr.length //0 arr[0] = 1; arr[1] = "2"; arr[2] = "3"; arr.length //3 arr[100] = true; arr.length //1003. 稀疏數(shù)組(sparse array)
稀數(shù)組就是含有空白或單缺單元的數(shù)組,數(shù)組元素的索引不一定要連續(xù),元素之間可以有空隙
在創(chuàng)建稀疏數(shù)組的時候要注意:
var arr = [ ]; arr[0] = 1; //此處不設(shè)置arr[1] arr[2] = [ 3 ]; arr.length //3
可以看到, 上面的代碼可以正常的運行,這就是一個稀疏數(shù)組,其中的 ‘空白單元’ 即沒有設(shè)置的arr[1]的值 為undefined , 這里的undefined指不存在,但是這與直接設(shè)置 arr[1]=undefined 還是有所不同,再舉個栗子
var arr1=[undefined,undefined,undefined] var arr2=new Array(3); console.log(arr1) console.log(arr2)
在谷歌瀏覽器上arr1顯示的是[undefined,undefined,undefined],而arr2顯示的為?[undefined × 3] ,由此可以看出他們是不同的,arr2這里的undefined指不存在。
4. 稀疏數(shù)組遍歷var arr = new Array(3); arr[50]=1; console.log(arr.length ) //51 console.log(arr[0]) //undefined arr.forEach(function(value,index){ console.log(value); //1 });
上面這段代碼可以看出,在遍歷數(shù)組的時候js是會跳過這些空白單元,直接找到下標(biāo)為51的值。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/104618.html
摘要:之前一篇文章我們詳細(xì)說明了變量對象,而這里,我們將詳細(xì)說明作用域鏈。而的作用域鏈,則同時包含了這三個變量對象,所以的執(zhí)行上下文可如下表示。下圖展示了閉包的作用域鏈。其中為當(dāng)前的函數(shù)調(diào)用棧,為當(dāng)前正在被執(zhí)行的函數(shù)的作用域鏈,為當(dāng)前的局部變量。 showImg(https://segmentfault.com/img/remote/1460000008329355);初學(xué)JavaScrip...
摘要:封裝手寫的方筆記使用檢測文件前端掘金副標(biāo)題可以做什么以及使用中會遇到的坑。目的是幫助人們用純中文指南實現(xiàn)復(fù)選框中多選功能前端掘金作者緝熙簡介是推出的一個天挑戰(zhàn)。 深入理解 JavaScript Errors 和 Stack Traces - 前端 - 掘金譯者注:本文作者是著名 JavaScript BDD 測試框架 Chai.js 源碼貢獻者之一,Chai.js 中會遇到很多異常處理...
摘要:封裝手寫的方筆記使用檢測文件前端掘金副標(biāo)題可以做什么以及使用中會遇到的坑。目的是幫助人們用純中文指南實現(xiàn)復(fù)選框中多選功能前端掘金作者緝熙簡介是推出的一個天挑戰(zhàn)。 深入理解 JavaScript Errors 和 Stack Traces - 前端 - 掘金譯者注:本文作者是著名 JavaScript BDD 測試框架 Chai.js 源碼貢獻者之一,Chai.js 中會遇到很多異常處理...
摘要:忍者級別的函數(shù)操作對于什么是匿名函數(shù),這里就不做過多介紹了。我們需要知道的是,對于而言,匿名函數(shù)是一個很重要且具有邏輯性的特性。通常,匿名函數(shù)的使用情況是創(chuàng)建一個供以后使用的函數(shù)。 JS 中的遞歸 遞歸, 遞歸基礎(chǔ), 斐波那契數(shù)列, 使用遞歸方式深拷貝, 自定義事件添加 這一次,徹底弄懂 JavaScript 執(zhí)行機制 本文的目的就是要保證你徹底弄懂javascript的執(zhí)行機制,如果...
閱讀 3044·2021-11-23 09:51
閱讀 1725·2021-10-15 09:39
閱讀 1125·2021-08-03 14:03
閱讀 2962·2019-08-30 15:53
閱讀 3489·2019-08-30 15:52
閱讀 2565·2019-08-29 16:17
閱讀 2885·2019-08-29 16:12
閱讀 1710·2019-08-29 15:26