摘要:如重排序方法它的原理是先調(diào)用數(shù)組的方法,之后再進(jìn)行字符串的比較。長(zhǎng)度為的數(shù)組。返回的是被刪除的項(xiàng),如果沒(méi)刪除則返回空數(shù)組,而且之前的數(shù)組也被改變位置方法可以檢測(cè)變量,它的兩個(gè)參數(shù)是第一個(gè)是要查找的值或變量,第二個(gè)是從哪開(kāi)始找。
length屬性方法
數(shù)組的length屬性不單單是只讀的,還可以寫(xiě)入
var color = [‘red’,’blue’,’black’];
Color.length = 1; // red
Color.length = 4
Console.log(color[2]) //undefined
當(dāng)有不同模塊時(shí),數(shù)組在不同模塊的表現(xiàn)是不同的構(gòu)造函數(shù),這時(shí)候instanceof也會(huì)判斷失誤,這時(shí)候要用更精確的方法
Array.isArray(value)
toString() -> 可以將一個(gè)數(shù)組轉(zhuǎn)化成“,”分割的形式,如[1,2,3,4].toString() -> “1,2,3,4”
join()方法和toString()一樣,只是join()里面可以添加參數(shù),默認(rèn)是逗號(hào),如[1,2,3,4].join(‘-") -> “1-2-3-4”
上面這個(gè)數(shù)組對(duì)于數(shù)組中嵌套這數(shù)組的情況,也能默認(rèn)拆到底。如[1,2,3,[4,[5,6,[7,8]]]].toString() -> “1,2,3,4,5,6,7,8"
重排序方法reverse()
sort() : 它的原理是先調(diào)用數(shù)組的toString()方法,之后再進(jìn)行字符串的比較。所以應(yīng)該這么寫(xiě)
arr.sort((val1,val2) => val1-val2)
操作方法Concat():concat()方法不會(huì)影響之前數(shù)組的值
Slice() : 如果是負(fù)值,則用數(shù)組的長(zhǎng)度去和數(shù)值相加。e.g: 長(zhǎng)度為5的數(shù)組 arr.slice(-2,-1) === arr.slice(3,4)。slice有個(gè)技巧,其實(shí)后面兩個(gè)參數(shù)差的值就是數(shù)組里留的數(shù)量,比如[1,2,3,4,5].slice(1,4),截取出來(lái)的數(shù)組長(zhǎng)度就是3。
Splice() : 返回的是被刪除的項(xiàng),如果沒(méi)刪除則返回空數(shù)組,而且之前的數(shù)組也被改變
位置方法indexOf:可以檢測(cè)變量,它的兩個(gè)參數(shù)是第一個(gè)是要查找的值或變量,第二個(gè)是從哪開(kāi)始找。
var person = {name:"andy",age:25};
var a = [{name:"andy",age:25}];
var b = [person];
console.log(a.indexOf(person)) // -1
console.log(b.indexOf(person)) //0
find()和findIndex():他們的參數(shù)必須為函數(shù),可直接返回滿足條件的值和序號(hào),還可以結(jié)合Object.is(),辨別NAN的位置
[1,2,3,4].find((n) => n>2)
有5個(gè)迭代方法,每個(gè)方法都接收兩個(gè)參數(shù)。第一個(gè)參數(shù)是一個(gè)函數(shù)第二個(gè)參數(shù)是函數(shù)的作用域?qū)ο?可選)-影響this值,其中第一個(gè)參數(shù)的函數(shù)又有三個(gè)參數(shù)(item,index,arrSelf)。這5個(gè)方法都不會(huì)改變數(shù)組本身。
方法 | 一個(gè)普通標(biāo)題 | 一個(gè)普通標(biāo)題 |
---|---|---|
every() | Boolean | 循環(huán)次數(shù):碰到是flase的直接終止循環(huán) |
some() | Boolean | 循環(huán)次數(shù):碰到是true的直接終止循環(huán) |
forEach() | 無(wú)返回值 | 和for循環(huán)迭代數(shù)組一樣,沒(méi)有返回值 |
map() | 返回每次函數(shù)調(diào)用的結(jié)果組成的數(shù)組 | 適用于包含項(xiàng)與另一個(gè)數(shù)組一一對(duì)應(yīng)的數(shù)組 |
filter() | 返回true所組成的數(shù)組 | 查詢符合條件的所有數(shù)組很有用 |
reduce()和reduceRight (),這兩個(gè)沒(méi)區(qū)別就是一從頭到尾,一個(gè)從尾到頭。
他們的參數(shù)意義:
第一個(gè)參數(shù):function (pre,cur,index,arrSelf)
第二個(gè)參數(shù):pre的初始值,如果這個(gè)參數(shù)沒(méi)有,那么pre的初始值就是數(shù)組的第0個(gè)元素,例子:
let arr2 = [1,2,3]; let arr2All = arr2.reduce((pre,cur,index,arr) => { console.log("pre: "+ pre) console.log("cur: "+ cur) console.log("index: "+ index) console.log("arr: "+ arr) return cur + pre; },5) let arr2 = [1,2,3]; var arr2All = arr2.reduce((pre,cur,index,arr) => { console.log("pre: "+ pre) console.log("cur: "+ cur) console.log("index: "+ index) console.log("arr: "+ arr) return cur + pre; })Es6中數(shù)組的方法 Array.from()和擴(kuò)展運(yùn)算符(...)
它可以將類(lèi)數(shù)組(本質(zhì)特點(diǎn)必須有一點(diǎn),有l(wèi)ength屬性)和可遍歷對(duì)象(連字符串都可以)都轉(zhuǎn)化為數(shù)組e.g:
在實(shí)際應(yīng)用中一般類(lèi)數(shù)組對(duì)象都是獲取的DOM的NodeList集合,如getElementByTagName()...
let arrLike = { "0":"a", "1":"b", "2":"c", length:3 } str = [].slice.call("abc") var arr = [].slice.call(arrLike) // [‘a(chǎn)’,’b’,’c’] -> es5的寫(xiě)法 var arr1 = Array.from(arrLike) // [‘a(chǎn)’,’b’,’c’] var arr2 = […arrLike] //擴(kuò)展運(yùn)算符不能有這種效果 var arr3 = Array.from("arrLike’) // [‘a(chǎn)’,’r’,’r’,’L’,’i’,’k’,’e"]Includes()
和indexOf不同點(diǎn):
他直接返回了true和false
語(yǔ)義化比較好
對(duì)于NAN的判斷 indexOf內(nèi)部使用嚴(yán)格相等,會(huì)導(dǎo)致NAN判斷錯(cuò)誤,而include使用的是不一樣的判斷方法,沒(méi)有問(wèn)題,[NaN].include(NaN) -> 0
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/96509.html
摘要:關(guān)于中的數(shù)組做出了如下總結(jié)數(shù)組是用來(lái)存儲(chǔ)一組不同類(lèi)型的數(shù)據(jù)的容器。可以使用構(gòu)造函數(shù)的方法和字面量的方法來(lái)聲明函數(shù)訪問(wèn)數(shù)組通過(guò)下標(biāo)的方法來(lái)訪問(wèn)可以獲得數(shù)組長(zhǎng)度。 關(guān)于JavaScript中的數(shù)組做出了如下總結(jié):1、數(shù)組是用來(lái)存儲(chǔ)一組不同類(lèi)型的數(shù)據(jù)的容器。可以使用構(gòu)造函數(shù)的方法和字面量的方法來(lái)聲明函數(shù);訪問(wèn)數(shù)組通過(guò)下標(biāo)的方法來(lái)訪問(wèn);arr.length可以獲得數(shù)組長(zhǎng)度。2、數(shù)組棧方法包括:...
摘要:并列數(shù)據(jù)的集合數(shù)組用方括號(hào)表示。第三種類(lèi)型是映射,也就是一個(gè)名值對(duì),即數(shù)據(jù)有一個(gè)名稱(chēng),還有一個(gè)與之相對(duì)應(yīng)的值,這又稱(chēng)作散列或字典,比如首都北京。中有種簡(jiǎn)單數(shù)據(jù)類(lèi)型也稱(chēng)為基本數(shù)據(jù)類(lèi)型和。數(shù)值布爾值對(duì)象和字符串值都有方法。 什么是JSON JSON:JavaScript 對(duì)象表示法(JavaScript Object Notation)。 JSON的形式是用大括號(hào){}包圍起來(lái)的項(xiàng)目列表...
摘要:數(shù)組原型提供的方法非常之多,主要分為三種直接修改原數(shù)組原數(shù)組不變,返回新數(shù)組數(shù)組遍歷方法直接修改原數(shù)組的刪除一個(gè)數(shù)組中的最后的一個(gè)元素,并且返回這個(gè)元素添加一個(gè)或者多個(gè)元素到數(shù)組末尾,并且返回?cái)?shù)組新的長(zhǎng)度刪除數(shù)組的第一個(gè)元素,并返回這個(gè)元素 Javascript數(shù)組原型提供的方法非常之多,主要分為三種: 直接修改原數(shù)組 原數(shù)組不變,返回新數(shù)組 數(shù)組遍歷方法 直接修改原數(shù)組的API ...
摘要:日常開(kāi)發(fā)中我們難免需要對(duì)數(shù)組和對(duì)象進(jìn)行遍歷,今天抽空來(lái)總結(jié)下遍歷數(shù)組和對(duì)象常用的方法。使用遍歷對(duì)象注只能遍歷出自身可枚舉的屬性,而不能遍歷出原型鏈上面的屬性。 日常開(kāi)發(fā)中我們難免需要對(duì)數(shù)組和對(duì)象進(jìn)行遍歷,今天抽空來(lái)總結(jié)下遍歷數(shù)組和對(duì)象常用的方法。 Javascript遍歷數(shù)組總結(jié) 我們定義一個(gè)數(shù)組 var arr = [2,4,6]; 1.使用for循環(huán)遍歷 var lengt...
摘要:設(shè)計(jì)模式是以面向?qū)ο缶幊虨榛A(chǔ)的,的面向?qū)ο缶幊毯蛡鹘y(tǒng)的的面向?qū)ο缶幊逃行┎顒e,這讓我一開(kāi)始接觸的時(shí)候感到十分痛苦,但是這只能靠自己慢慢積累慢慢思考。想繼續(xù)了解設(shè)計(jì)模式必須要先搞懂面向?qū)ο缶幊蹋駝t只會(huì)讓你自己更痛苦。 JavaScript 中的構(gòu)造函數(shù) 學(xué)習(xí)總結(jié)。知識(shí)只有分享才有存在的意義。 是時(shí)候替換你的 for 循環(huán)大法了~ 《小分享》JavaScript中數(shù)組的那些迭代方法~ ...
摘要:關(guān)于數(shù)組方法的總結(jié)以此數(shù)組為操作對(duì)象以下方法不改變?cè)瓟?shù)組只是數(shù)組的轉(zhuǎn)換字符串使用括號(hào)中的字符串連接數(shù)組中的每個(gè)元素,返回一個(gè)連接好的字符串,不改變?cè)瓟?shù)組可以將數(shù)組轉(zhuǎn)換成字符串形式,返回字符串,不改變?cè)瓟?shù)組。 關(guān)于數(shù)組方法的總結(jié) 【arr(1,2,3,4);以此數(shù)組為操作對(duì)象;】 以下方法不改變?cè)瓟?shù)組(只是數(shù)組的轉(zhuǎn)換) arr.join(字符串): 使用括號(hào)中的字符串連接數(shù)組中的每個(gè)元...
閱讀 1650·2019-08-30 15:44
閱讀 2573·2019-08-30 11:19
閱讀 406·2019-08-30 11:06
閱讀 1567·2019-08-29 15:27
閱讀 3085·2019-08-29 13:44
閱讀 1629·2019-08-28 18:28
閱讀 2358·2019-08-28 18:17
閱讀 1987·2019-08-26 10:41