摘要:方法為數組中的每個元素都調用一次函數執行如果沒有符合條件的元素返回對于空數組,函數是不會執行的。不改變原數組和差不多,默認返回的是索引。
1. length屬性 && 檢測數組
length屬性不是只讀,可以設置該屬性,從數組的末尾移除項或添加新項
檢測數組:
一個全局作用域下(一個網頁),使用instanceof
兩個以上不同的全局執行環境(網頁包含多個框架),使用Array.isArray()
2. 轉換方法toString()
返回由數組中每個值的字符串形式拼接而成的以逗號(,)分隔的字符串,實際上會調用每一項的toString()
toLocaleString()
返回值經常與toString()相同, 但調用的是每一項的toLocaleString()
valueOf()
返回數組本身
push()
數組末尾添加任意個項,返回數組新的長度,
pop()
刪除數組末的最后一個元素,并返回移除的項
shift()
刪除并返回數組第一項
unShift()
在數組的開頭添加任意個項,并返回數組新的長度
reverse()
反轉數組項的順序,該方法會改變原來的數組,而不會創建新的數組。
sort()
默認情況下,sort()方法按升序排列數組,通過調用每一項的toSring()再比較,因此比較的是字符串
接受一個比較函數作為參數時,比較函數接受兩個參數,來指定哪個值位于哪個值得前面,
function sortNumber(a,b) { return a - b } //升序6. 操作方法
concat()
可以拼接任意數組,返回新數組,不改變自身
slice()
接受兩個參數,代表截取得起止位置,不包含結束位置,一個參數時默認截取到最后,參數為負數時,加上數組本身長度,注意 不影響原數組,如果起始位置小于結束位置,則返回空數組
splice()
刪除: 兩個參數 刪除的第一項的位置 和 刪除的項數
插入: 三個參數 起始位置、 0(刪除的項數)和插入的項,若插入多項,則在后面加上插入的項
替換: 三個參數 起始位置、 刪除的項數、替換的項(任意數量)
返回從數組中刪除的項,沒有刪除時返回空數組,改變原數組
7. 位置方法indexOf()
lastIndexOf()
都接受兩個參數 查找的項和查找起點位置的索引(可選),返回查找項在數組中的位置,沒找到時返回1
let arr = ["orange", "2016", "2016"]; arr.indexOf("orange"); //0 arr.indexOf("o"); //-1 因為此方法不會在每一個元素的基礎上再次執行 indexOf 匹配。 arr.indexOf("2016"); //1 arr.indexOf(2016); //-1 注意:這里不會做隱式類型轉換。8. 迭代方法
每個方法都接受兩個參數,第一個為在每一項運行的函數,第二個為運行該函數的作用域對象(可選)
函數接受三個參數:item,index, array本身,都不會改變原數組
every() 傳入函數的每一項都滿足函數,返回true
some() 某一項滿足函數的條件,返回true
forEach() 與for循環用法一致,無返回值
filter() 返回一個新的數組,用指定的函數確定是否在返回的數組中包含某一項
map() 返回一個新的數組,該數組的值對應原數組的每一項運行指定函數的返回值
9. 歸并方法reduce()
reduceRighht()
兩個方法都會迭代數組的所有項,構建一個最終的返回值
接受兩個參數: 每一項調用的函數 和 歸并基礎的初始值
函數接受四個參數: 前一個值 當前值 索引 和數組對象,該函數的返回值都會作為第一個參數傳給下一項,第一次迭代發生在數組的第二項上,因此第一個參數是數組的第一項,第二個參數是數組的第二項
find()
返回通過測試(函數內判斷)的數組的第一個元素的值。
find() 方法為數組中的每個元素都調用一次函數執行:
如果沒有符合條件的元素返回 undefined
find() 對于空數組,函數是不會執行的。
不改變原數組
findIndex()
和find()差不多,默認返回的是索引。
includes()
與String的includes()一樣,接收2參數,查詢的項以及查詢起始位置,返回true或false
keys()
對數組索引的遍歷
values()
對數組項的遍歷
entries()
對數組鍵值對的遍歷
let arr=["w","b"]; for(let a of arr.entries()){ console.log(a) }//結果:[0,w],[1,b] for(let [i,v] of arr.entries()){ console.log(i,v) }//結果:0 w,1 b
fill() 數組填充
let arr=["w","b"]; arr.fill("i")//結果:["i","i"],改變原數組
new Array(3).fill("k").fill("r",1,2)//結果:["k","r","k"],第三個數組表示填充的結束位置,前開后閉區間
- Array.from() 把帶有lenght屬性類似數組的對象轉換為數組,也可以把字符串等可以遍歷的對象轉換為數組,它接收2個參數,轉換對象與回調函數
Array.from({"0":"w","1":"b",length:2})//["w", "b"],返回數組的長度取決于對象中的length,故此項必須有! Array.from({"0":"w","1":"b",length:4})//["w", "b", undefined, undefined] Array.from({"0":"w","1":"b",length:1})//["w"] let divs=document.getElementsByTagName("div"); Array.from(divs)//返回div元素數組 Array.from("wbiokr")//["w", "b", "i", "o", "k", "r"] Array.from([1,2,3],function(x){ return x+1 })//[2, 3, 4],第二個參數為回調函數 ```
【完】
作者簡介:鄭佳歡,蘆葦科技web前端實習生,公司部分作品:口紅挑戰網紅小游戲、服務端渲染官網。擅長網站建設、公眾號開發、微信小程序開發、小游戲、公眾號開發,專注于前端領域框架、交互設計、圖像繪制、數據分析等研究。 一起并肩作戰: zhengjiahuan@talkmoney.cn 訪問 www.talkmoney.cn 了解更多
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/109693.html
摘要:方法為數組中的每個元素都調用一次函數執行如果沒有符合條件的元素返回對于空數組,函數是不會執行的。不改變原數組和差不多,默認返回的是索引。擅長網站建設公眾號開發微信小程序開發小游戲公眾號開發,專注于前端領域框架交互設計圖像繪制數據分析等研究。1. length屬性 && 檢測數組 length屬性不是只讀,可以設置該屬性,從數組的末尾移除項或添加新項 檢測數組: 一個全局作用域下(一個網頁...
摘要:如何使用,在一個類型的數組里,查找最大或最小數呢以下介紹五個方法。利用代碼如下解釋方法就是通過一個函數,針對一個累加器和數組中的每一個元素,將一個數組最終減少到一個值。如果求最小值,將改成。 如何使用JS,在一個Number類型的數組里,查找最大(或最?。的?? 以下介紹五個方法。(如果有新方法,后續會更新,也歡迎各位留言提供新方法) 1. 不使用任何庫函數 代碼如下: functio...
摘要:屬性名描述為對象添加屬性方法返回數組對象引用返回數組元素數目方法名描述返回更改原數組連接多個數組連接后新數組將數組中所有元素合為一個字符串。 屬性名 描述 prototype 為對象添加屬性、方法 constructor 返回數組對象引用 length 返回數組元素數目 方法名 描述 返回 更改原數組 concat() 連接多個數組 連接后新數組 N ...
摘要:月下半旬攻略道題,目前已攻略題。目前簡單難度攻略已經到題,所以后面會調整自己,在刷算法與數據結構的同時,攻略中等難度的題目。 Create by jsliang on 2019-07-30 16:15:37 Recently revised in 2019-07-30 17:04:20 7 月下半旬攻略 45 道題,目前已攻略 100 題。 一 目錄 不折騰的前端,和咸魚有什么區別...
閱讀 3063·2021-11-24 10:34
閱讀 3322·2021-11-22 13:53
閱讀 2630·2021-11-22 12:03
閱讀 3598·2021-09-26 09:47
閱讀 3005·2021-09-23 11:21
閱讀 4772·2021-09-22 15:08
閱讀 3289·2021-07-23 10:59
閱讀 1258·2019-08-29 18:31