摘要:數(shù)組語(yǔ)法功能遍歷數(shù)組,返回回調(diào)返回值組成的新數(shù)組,不改變?cè)瓟?shù)組,不會(huì)對(duì)空數(shù)組進(jìn)行檢測(cè)語(yǔ)法功能無(wú)法,可以用中來(lái)停止,不改變?cè)瓟?shù)組語(yǔ)法功能過(guò)濾,返回過(guò)濾后的數(shù)組,不改變?cè)瓟?shù)組,不會(huì)對(duì)空數(shù)組進(jìn)行檢測(cè)語(yǔ)法功能有一項(xiàng)返回,則整體為,不改變?cè)瓟?shù)組語(yǔ)法
數(shù)組 (array) ES5 * map
語(yǔ)法:[].map(function(item, index, array) {return xxx})
功能:遍歷數(shù)組,返回回調(diào)返回值組成的新數(shù)組,不改變?cè)瓟?shù)組,不會(huì)對(duì)空數(shù)組進(jìn)行檢測(cè)
語(yǔ)法:[].forEach(function(item, index, array) {})
功能:無(wú)法break,可以用try/catch中throw new Error來(lái)停止,不改變?cè)瓟?shù)組
語(yǔ)法:[].filter(function(item, index, array) {})
功能:過(guò)濾,返回過(guò)濾后的數(shù)組,不改變?cè)瓟?shù)組,不會(huì)對(duì)空數(shù)組進(jìn)行檢測(cè)
eg:
const data = [-8, 9, 5, 3]; const res = data.filter(function(item) { if (item > 3) { return item } }); console.log(res); // [9, 5]some
語(yǔ)法:[].some(function(item, index, array) {})
功能:有一項(xiàng)返回true,則整體為true,不改變?cè)瓟?shù)組
語(yǔ)法:[].every(function(item, index, array) {})
功能:需要全部符合條件才返回true,有一項(xiàng)返回false,則整體為false,不改變?cè)瓟?shù)組
語(yǔ)法:[].join(str)
功能:返回通過(guò)指定連接符str把數(shù)組連接成字符串,不改變?cè)瓟?shù)組
語(yǔ)法:[].push(item) / [].pop(item)
功能:數(shù)組末尾推入push和彈出pop,返回改變后數(shù)組的長(zhǎng)度/彈出項(xiàng),改變?cè)瓟?shù)組
語(yǔ)法:[].unshift(item) / [].shift(item)
功能:數(shù)組頭部推入unshift和彈出shift,返回改變后數(shù)組的長(zhǎng)度/彈出項(xiàng),改變?cè)瓟?shù)組
語(yǔ)法:[].sort(fn) [].reverse()
功能:按規(guī)則排序與反轉(zhuǎn),改變?cè)瓟?shù)組
語(yǔ)法:[].splice(start, number, value1, value2...)
功能:返回刪除元素組成的數(shù)組,從start處開始刪除number個(gè)值后插入valueN參數(shù)列表到數(shù)組中,改變?cè)瓟?shù)組
語(yǔ)法:[].concat([])
功能:連接n(n >= 2)個(gè)數(shù)組,返回?cái)?shù)組連接后的數(shù)組副本,淺拷貝,不改變?cè)瓟?shù)組
語(yǔ)法:[].slice(start, end)
功能:返回截?cái)嗪蟮男聰?shù)組,不改變?cè)瓟?shù)組
語(yǔ)法:[].indexOf(value[, fromIndex])
功能:
查找數(shù)組項(xiàng)
indexOf 從fromIndex(默認(rèn)為0)開始向后查找value
lastIndexOf 從fromIndex(默認(rèn)為-1)開始向前查找value
返回value對(duì)應(yīng)的下標(biāo)
語(yǔ)法:reduce / reduceRight(callback[, initialValue])
功能:兩兩執(zhí)行,prev 為上次化簡(jiǎn)函數(shù)的return值,cur 為當(dāng)前值(從第二項(xiàng)開始)
callback 函數(shù)的參數(shù):之前值(previousValue)、當(dāng)前值(currentValue)、索引值(currentIndex)以及數(shù)組本身(array)
initialValue 可選的初始值,作為第一次調(diào)用回調(diào)函數(shù)時(shí)傳給previousValue的值。也就是,為累加等操作傳入起始值(額外的加值)
reduceRight是從數(shù)組的末尾開始
isArray *語(yǔ)法:Array.isArray(value)
功能:用于確定參數(shù)value是否是一個(gè)Array
ind(fn)`
功能:返回符合條件的第一個(gè)數(shù)組元素item
語(yǔ)法:[].findIndex(fn)
功能:返回符合條件的第一個(gè)數(shù)組元素的索引
語(yǔ)法:[].fill(value[, start, end])
功能:將類似數(shù)組的對(duì)象和可遍歷(iterable)的對(duì)象轉(zhuǎn)為真正的數(shù)組
常用:
const set = new Set(3, 8, 9, 0) Array.from(set)entries *
語(yǔ)法:[].entries()
功能:返回迭代器:返回鍵值對(duì)
【注】Object.entries(obj)方法返回一個(gè)給定對(duì)象自身可枚舉屬性的鍵值對(duì)數(shù)組,其排列與使用 for...in 循環(huán)遍歷該對(duì)象時(shí)返回的順序一致(區(qū)別在于 for-in 循環(huán)也枚舉原型鏈中的屬性)【MDN】
而[].entries()是Array.prototype上的方法
keys/values 類似
//數(shù)組 const arr = ["a", "b", "c"]; for(let v of arr.entries()) { console.log(v) } // [0, "a"] [1, "b"] [2, "c"] //Set const arr1 = new Set(["a", "b", "c"]); for(let v of arr1.entries()) { console.log(v) } // ["a", "a"] ["b", "b"] ["c", "c"] //Map const arr2 = new Map(); arr2.set("a", "a"); arr2.set("b", "b"); for(let v of arr2.entries()) { console.log(v) } // ["a", "a"] ["b", "b"]keys *
語(yǔ)法:[].keys()
功能:返回迭代器:返回鍵key(即上面的每個(gè)數(shù)組中的第一個(gè)值)
語(yǔ)法:[].values()
功能:返回迭代器:返回值value(即上面的每個(gè)數(shù)組中的第二個(gè)值)
語(yǔ)法:[].includes(val[, fromIndex])
功能:用于從fromIndex判斷數(shù)組中是否包含val,可替代ES5中的 indexOf
語(yǔ)法:[].copyWithin(target[, start[, end]])
功能:淺復(fù)制數(shù)組的一部分(start~end)到同一數(shù)組中的另目標(biāo)位置target,返回改變后的數(shù)組,而不修改其大?。籹tart默認(rèn)為0, end默認(rèn)為length-1; 改變?cè)瓟?shù)組
語(yǔ)法:Array.of()
功能:創(chuàng)建一個(gè)具有可變數(shù)量參數(shù)的新數(shù)組實(shí)例,而不考慮參數(shù)的數(shù)量或類型
Array構(gòu)造函數(shù) & Array.of() 區(qū)別
實(shí)例說(shuō)明
Array.of(7); // [7] Array.of(1, 2, 3); // [1, 2, 3] Array(7); // [ , , , , , , ] Array(1, 2, 3); // [1, 2, 3]fill
語(yǔ)法:[].fill(value[, start, end])
功能:用指定的元素填充數(shù)組,可用于初始化數(shù)組,返回改變后的數(shù)組,改變?cè)瓟?shù)組
填充值(value),填充起始位置(start,默認(rèn)為0),填充結(jié)束位置(end,默認(rèn)為數(shù)組length)。
map/forEach/some/every/filter 見(jiàn)上
for for...in遍歷所有可枚舉屬性,常用于遍歷對(duì)象Object
for...of遍歷所有可迭代iterable的對(duì)象
對(duì)象【屬性】 for...in循環(huán)遍歷對(duì)象自身的和繼承的可枚舉屬性(不含Symbol屬性)【可枚舉 - Symbol】
Object.keys(obj)返回一個(gè)數(shù)組,包括對(duì)象自身的(不含繼承的)所有可枚舉屬性(不含Symbol屬性)【自身可枚舉 - Symbol】
Object.getOwnPropertyNames(obj)返回一個(gè)數(shù)組,包含對(duì)象自身的所有屬性(不含Symbol屬性,但是包括不可枚舉屬性)【自身 - Symbol】
Object.getOwnPropertySymbols(obj)返回一個(gè)數(shù)組,包含對(duì)象自身的所有Symbol屬性【自身的Symbol】
Reflect.ownKeys(obj)返回一個(gè)數(shù)組,包含對(duì)象自身的所有屬性,不管是屬性名是Symbol或字符串,也不管是否可枚舉 【自身所有】
參考 「干貨」細(xì)說(shuō) Array 的常用操作(ES5 和 ES6)
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/103393.html
摘要:基本概念學(xué)習(xí)目標(biāo)學(xué)會(huì)如何使用,掌握的常用,能夠使用實(shí)現(xiàn)常見(jiàn)的效果。想要實(shí)現(xiàn)簡(jiǎn)單的動(dòng)畫效果,也很麻煩代碼冗余。實(shí)現(xiàn)動(dòng)畫非常簡(jiǎn)單,而且功能更加的強(qiáng)大。注意選擇器返回的是對(duì)象。 jQuery基本概念 學(xué)習(xí)目標(biāo):學(xué)會(huì)如何使用jQuery,掌握jQuery的常用api,能夠使用jQuery實(shí)現(xiàn)常見(jiàn)的效果。 為什么要學(xué)習(xí)jQuery? 【01-讓div顯示與設(shè)置內(nèi)容.html】 使用javasc...
摘要:基本概念學(xué)習(xí)目標(biāo)學(xué)會(huì)如何使用,掌握的常用,能夠使用實(shí)現(xiàn)常見(jiàn)的效果。想要實(shí)現(xiàn)簡(jiǎn)單的動(dòng)畫效果,也很麻煩代碼冗余。實(shí)現(xiàn)動(dòng)畫非常簡(jiǎn)單,而且功能更加的強(qiáng)大。注意選擇器返回的是對(duì)象。 jQuery基本概念 學(xué)習(xí)目標(biāo):學(xué)會(huì)如何使用jQuery,掌握jQuery的常用api,能夠使用jQuery實(shí)現(xiàn)常見(jiàn)的效果。 為什么要學(xué)習(xí)jQuery? 【01-讓div顯示與設(shè)置內(nèi)容.html】 使用javasc...
摘要:基本概念學(xué)習(xí)目標(biāo)學(xué)會(huì)如何使用,掌握的常用,能夠使用實(shí)現(xiàn)常見(jiàn)的效果。想要實(shí)現(xiàn)簡(jiǎn)單的動(dòng)畫效果,也很麻煩代碼冗余。實(shí)現(xiàn)動(dòng)畫非常簡(jiǎn)單,而且功能更加的強(qiáng)大。注意選擇器返回的是對(duì)象。 jQuery基本概念 學(xué)習(xí)目標(biāo):學(xué)會(huì)如何使用jQuery,掌握jQuery的常用api,能夠使用jQuery實(shí)現(xiàn)常見(jiàn)的效果。 為什么要學(xué)習(xí)jQuery? 【01-讓div顯示與設(shè)置內(nèi)容.html】 使用javasc...
摘要:基本概念學(xué)習(xí)目標(biāo)學(xué)會(huì)如何使用,掌握的常用,能夠使用實(shí)現(xiàn)常見(jiàn)的效果。想要實(shí)現(xiàn)簡(jiǎn)單的動(dòng)畫效果,也很麻煩代碼冗余。實(shí)現(xiàn)動(dòng)畫非常簡(jiǎn)單,而且功能更加的強(qiáng)大。注意選擇器返回的是對(duì)象。 jQuery基本概念 學(xué)習(xí)目標(biāo):學(xué)會(huì)如何使用jQuery,掌握jQuery的常用api,能夠使用jQuery實(shí)現(xiàn)常見(jiàn)的效果。 為什么要學(xué)習(xí)jQuery? 【01-讓div顯示與設(shè)置內(nèi)容.html】 使用javasc...
摘要:在學(xué)習(xí)的道路上,數(shù)組是一個(gè)很重要的部分,數(shù)組的很多,也很容易混淆,每次對(duì)數(shù)組操作時(shí)都要去查文檔,學(xué)習(xí)的路上也不能一直前進(jìn),有時(shí)候要停下來(lái)做做總結(jié),我總結(jié)了平時(shí)比較常用的一些數(shù)組,希望能夠幫到你。如果沒(méi)有滿足條件的元素,則返回。 在學(xué)習(xí)JS的道路上,數(shù)組是一個(gè)很重要的部分,數(shù)組的API很多,也很容易混淆,每次對(duì)數(shù)組操作時(shí)都要去查文檔,學(xué)習(xí)的路上也不能一直前進(jìn),有時(shí)候要停下來(lái)做做總結(jié),我總...
閱讀 3259·2021-11-08 13:18
閱讀 2362·2019-08-30 15:55
閱讀 3677·2019-08-30 15:44
閱讀 3144·2019-08-30 13:07
閱讀 2885·2019-08-29 17:20
閱讀 2034·2019-08-29 13:03
閱讀 3582·2019-08-26 10:32
閱讀 3308·2019-08-26 10:15