摘要:在中,數組里可以容納容納中任何類型的值。方法大全在中數組是可修改的對象,每個數組都有著很多好用的方法,大多數我們日常都會常用。把元素添加到數組的頭部。利用使用下標進行操作。對當前數組中的每一項運行給定的函數返回函數結果為的項組成的數組。
雜談
????數組是最簡單的內存數據結構,也是js中最常用的類型之一,整理了下我覺得應該了解數組的相關知識。
在js中,數組里可以容納容納js中任何類型的值。
在聲明數組后就可以向數組中插入值,不需要設定什么。
數組的大小是動態的,可以根據數據的增加而自動增長。
js只支持一維數組,并不支持矩陣(二維數組)。但是,我們可以通過數組嵌套,實現矩陣或任意多維數組。
數組的項數就保存在它的length屬性中,這個屬性的值始終會大于等于0,并且length屬性并不是只讀屬性,通過使用length可以對數組進行修改操作。
判斷一個對象是不是數組,Array.isArray( ) ES5新增。
方法大全在js中數組是可修改的對象,每個數組都有著很多好用的方法,大多數我們日常都會常用。
1.創建數組
使用Array的構造函數 new Array( )
new操作符可以省略
let newArr = new Array()
數組字面量表示法
由[]表示,內含數組項
let newArr = []
2.添加元素
push() 把元素添加到數組的末尾。
unshift() 把元素添加到數組的頭部。
splice() 向/從數組中添加/刪除項目,然后返回。
利用length 使用下標 進行操作。
3.刪除元素
delete操作符、下標 不改變數組長度只會把下標記值置為undefined。
splice() 向/從數組中添加/刪除項目,然后返回 同上添加。
4.其它常用方法
concat() 連接多個數組并且將結果返回為一個新的數組。
forEach() 對當前數組中的每一項運行給定的函數。
indexOf() 返回第一個與給定參數相等結果的數組元素的索引,如果沒有找到則返回結果是 -1。
map() 對當前數組中的每一項運行給定的函數,返回每次函數調用的結果組成的數組。
every() 對當前數組中的每一項運行給定的函數,如果函數每一項返回的都是ture,則返回true。
filter() 對當前數組中的每一項運行給定的函數,返回函數結果為true的項組成的數組。
join() 將數組中所有的元素拼接成一個新的字符串。
lastIndexOf() 返回在數組中搜索到的與給定參數相等的元素結果里的索引最大的值。
reverse() 顛倒數組中元素的順序,原先第一個執行后會成為最后一個。
let newArr = [1, "a", 2, "b"]; console.log(newArr.join(";")); newArr.forEach(function(item, index) { console.log("item: "+ item + " " + "index: " + index); }) console.log(newArr.indexOf("a")); let strArr = newArr.filter(function(item) { if(typeof(item) === "string") { return true; } }) console.log(strArr); console.log(strArr.reverse());
使用字符串的方法str.split() 可以返回字符串轉化為數組的結果。
結尾js數組也可以表現的像棧和隊列一樣的數據結構,實現相應的行為,感興趣的可以去研究下。
棧和隊列簡介
????棧是一種遵從后進先出 (LIFO) 原則的有序集合。新添加的或待刪除的元素都保存在棧的 末尾,稱作棧頂,另一端就叫棧底。在棧里,新元素都靠近棧頂,舊元素都接近棧底。
隊列是遵循FIFO (First In First Out,先進先出,也稱為先來先服務) 原則的一組有序的項。 隊列在尾部添加新元素,并從頂部移除元素。最新添加的元素必須排在隊列的末尾。
參考資料:
????js高級程序設計 js數據結構與算法
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/110240.html
摘要:數組定義數組數組名稱元素元素定義空數組前端定義數組同時添加不同類型的元素構造函數方式數組名稱元素,元素數組名稱類型,表示數組的長度存在元素的個數用創造出一個空數組的構造函數前端用創造一個空數組的構造函數并添加元素函數方式定義數組名稱元素,元 數組 定義數組 1.var 數組名稱 = [元素1,元素2,...]; var arr=[];//定義空數組 var arr1=[100,前端,t...
摘要:如果我們認為模式代表一個最佳的實踐,那么反模式將代表我們已經學到一個教訓。受啟發于的設計模式,在年的月的報告大會上首次提出反模式。參考鏈接反模式學用設計模式極客學院 如果我們認為模式代表一個最佳的實踐,那么反模式將代表我們已經學到一個教訓。受啟發于Gof的《設計模式》,Andrew Koeing在1995年的11月的C++報告大會上首次提出反模式。在Koeing的報告中,反模式有著兩...
摘要:原文翻譯瘋狂的技術宅本文首發微信公眾號歡迎關注,每天都給你推送新鮮的前端技術文章類型檢測假設是一個數組,我們想要實現一些功能。將為數組返回,即使它們是在另一個中創建的。本文首發微信公眾號歡迎關注,每天都給你推送新鮮的前端技術文章 原文:https://jakearchibald.com/201...翻譯:瘋狂的技術宅 本文首發微信公眾號:jingchengyideng歡迎關注,每天都...
摘要:我曾寫過一篇關于博客個最佳特性,這次我打算聊聊和特性。自從年雙十一正式上線,累計處理了億錯誤事件,得到了金山軟件百姓網等眾多知名用戶的認可。 譯者按: 轉眼ES6發布2年了,是時候了解一下ES7與ES8特性了! 原文: ES7 and ES8 Features 譯者: Fundebug 為了保證可讀性,本文采用意譯而非直譯,并且對源代碼進行了大量修改。另外,本文版權歸原作者所有...
閱讀 3419·2021-11-15 11:39
閱讀 1552·2021-09-22 10:02
閱讀 1309·2021-08-27 16:24
閱讀 3596·2019-08-30 15:52
閱讀 3412·2019-08-29 16:20
閱讀 824·2019-08-28 18:12
閱讀 550·2019-08-26 18:27
閱讀 715·2019-08-26 13:32