js數(shù)組用法大全

文章如有錯(cuò)誤請(qǐng)聯(lián)系我 anmingzhe@me.com


Array.of() 創(chuàng)建數(shù)組 參數(shù)就是數(shù)組參數(shù)

Array.of(3) // [3] ?

var a = [1,2] ? Array.of(a) // [1,2] ?

Array.of() 和 Array()的區(qū)別是前者直接講參數(shù)編程數(shù)組,后者的參數(shù)是創(chuàng)建一個(gè)長(zhǎng)度為參數(shù)的數(shù)組

Array.from() 方法可講一個(gè)類(lèi)似數(shù)組或可迭代對(duì)象創(chuàng)建一個(gè)數(shù)組實(shí)例

var arr1 = [1,2] ? Array.from(arr1) // [1,2]

var amz ?= 'amz' ? Array.from(amz) ?// ['a','m','z']

var num = '123' ?Array.from(num,x => x * 2) ?//[2,4,6]

它也可以講function里面的arguments變成數(shù)組是實(shí)例 ?Array.from(arguments)

Array.isArray()? 判斷傳入的是否為數(shù)組是實(shí)例

Array.isArray([1,2]) // true

Array.isArray(arguments) //false? arguments是函數(shù)的參數(shù)哦

Array.prototype.concat() 合并數(shù)組(創(chuàng)建出新的數(shù)組)

let a = ['1','2'] ? ? ? let b = ['3','a'] ? ? let c = a.concat(b)? ? c? // ['1','2','3','a']

let d = a.concat('3','b') ? ?d // ['1','2','3','b']

Array.prototype.copyWithin() ?復(fù)制數(shù)組的一部分到另一部分(修改原數(shù)組)

三個(gè)參數(shù) a1 a2 a3

a1 要復(fù)制的東西從那里開(kāi)始展示出來(lái)

a2 從那里開(kāi)始復(fù)制 默認(rèn)值是0 即為從數(shù)組開(kāi)始復(fù)制

a3 復(fù)制到那里結(jié)束轰坊,默認(rèn)值是數(shù)組最后一個(gè)

['a','b','c'].copyWithin(1) //['a','a','b']? 等價(jià)值 ['a','b','c'].copyWithin(1,0,3) //['a','a','b']

Array.prototype.every() 接受一個(gè)函數(shù)桑嘶,用來(lái)判斷數(shù)組每一項(xiàng)值挟秤,全部為true則返回true 否返回false

[1,2,3].every(x => x > 2) ?//false

[2,4,6].every(x => x > 1) // true

Array.prototype.fill() 替換數(shù)組 里面的某一部分 會(huì)改變?cè)瓟?shù)組

[1,2,3,4,5].fill(8) // [8,8,8,8,8]

[1,2,3,4,5].fill(8,1) // [1,8,8,8,8]

[1,2,3,4,5].fill(8,1,3) // [1,8,8,4,5]

Array.prototype.filter() 接受一個(gè)函數(shù)笋熬,測(cè)試數(shù)組,通過(guò)的元素創(chuàng)建一個(gè)新數(shù)組

[1,2,3,4,5,6].filter(x => x > 2) //[3,4,5,6]

Array.prototype.find() ?接受一個(gè)函數(shù),返回?cái)?shù)組通過(guò)函數(shù)測(cè)試的第一個(gè)值

[1,2,3,4,5,6].find(x => x > 2) //3

Array.prototype.findIndex()? 接受一個(gè)函數(shù)埋酬,返回?cái)?shù)組通過(guò)函數(shù)測(cè)試的第一個(gè)值的索引

[1,2,3,4,5].findIndex(x => x > 2) //2

Array.prototype.forEach() 對(duì)數(shù)組的每一項(xiàng)提供一個(gè)函數(shù) ?一般用戶(hù)循環(huán)數(shù)組

[1,2,3].forEach(x => { console.log(x*2) } ) // 2 ?4 ?6

Array.prototype.includes() ?判斷數(shù)組是否有某值

[1,2,3].includes(4) //false

[1,2,3].includes(2) //true

Array.prototype.indexOf() 返回在數(shù)組中可以找到給定元素的第一個(gè)索引?

[1,2,3,4,2,3].indexOf(2) // 1 ?

[1,2,3,4,2,3].indexOf(2,2) // 4 ? ?//第二個(gè)參數(shù)是從第幾位開(kāi)始找

Array.prototype.join() 吧數(shù)組分割成字符串,傳值就是分割符?

[1,2,3].join('=') // '1=2=3'

[1,2,3].join() // '1,2,3' 不穿值 默認(rèn)為萨醒,

Array.prototype.map() 創(chuàng)建一個(gè)新數(shù)組斟珊,其結(jié)果是該數(shù)組中的每個(gè)元素調(diào)用一個(gè)提供的函數(shù)

[1,2,3].map(x => x*2) ?// [2,4,6]

Array.prototype.pop() 從數(shù)組的后面刪除一個(gè)元素并返回刪除的那個(gè)元素 ?

var arr = [1,2,3] ? ? ? ?arr.pop() // 3 ? ?arr // [1,2] ?

Array.prototype.push() 從數(shù)組的末尾添加一個(gè)或多個(gè)元素 并返回修改過(guò)后數(shù)組的長(zhǎng)度

var arr = [1,2,3]

arr.push('a','b') // 5 ? arr // [1,2,3,'a','b']

Array.prototype.reduce() 數(shù)組的一個(gè)累加器,對(duì)數(shù)組的每一個(gè)值應(yīng)用一個(gè)函數(shù)(第一個(gè)參數(shù)是 累加的值 第二個(gè)參數(shù)是即將要加的哪個(gè)東東) 第二個(gè)參數(shù)是 累加的起始值

var arr = [1,2,3].reduce(function (a,b) {return a+b},0) ??

arr //6

var arr = [[1, 2], [3, 4], [5, 6]]

var s = arr.reduce(function (a,b) { ? return a.concat(b) }, [])

s // [1, 2, 3, 4, 5, 6]

Array.prototype.reduceRight() ?同上 累加 從右到左加

var s = arr.reduceRight(function (a,b) {? return a.concat(b) }, [])

s // [5,6,3,4,1,2]

Array.prototype.reverse() 反轉(zhuǎn)數(shù)組的排序

[1,2,3,4].reverse()? // [4, 3, 2, 1]

Array.prototype.shift() 刪除數(shù)組第一個(gè)元素 改變?cè)瓟?shù)組富纸,返回刪除的那個(gè)元素

var arr = [1,2,3] ? arr.shift() ?// 1 ?arr //[2,3] ? ?

Array.prototype.slice() 復(fù)制數(shù)組從某一位到某一位成立一個(gè)新數(shù)組 ?第一個(gè)參數(shù) 從第幾位截取 ?第二個(gè)參數(shù) 到第幾位結(jié)束

var a = [1,2,3,4]

var b = a.slice(2) ? ? ?b // [3,4]

var c = a.slice(1,3) ?c // [2,3]

Array.prototype.some() 給數(shù)組一個(gè)函數(shù)測(cè)試每一項(xiàng)囤踩,有一個(gè)通過(guò)則返回true

var a = [1,2,32,4]

a.some(x => x===1) ?//true

Array.protptype.sort() 數(shù)組排序,可接受函數(shù)

var a = [1,4,2,5,7,3,4]

a.sort()? //[1, 2, 3, 4, 4, 5, 7] ?這樣調(diào)用瀏覽器兼容不理想 可能不會(huì)返回這樣的排序

var arr = a.sort((a, b) => {return b - a }) ? ? arr //[7,5,4,4,3,2,1]

Array.prototype.splice() 刪除現(xiàn)有添加新元素 三個(gè)參數(shù)是從第幾位刪除幾位插入什么什么 ? 返回刪除的元素

var a1 = [1,2,3,4,5],a2 = [1,2,3,4,5],a3 = [1,2,3,4,5]

a1.splice(2) // [3, 4, 5]? ? a1 // [1, 2]

a2.splice(2,2) //[3,4] ?a2 //[1,2,5]

a3.splice(2,2,'abc')? // [3,4] ? ?a3 //[1, 2, "abc", 5]

Array.prototype.toLocaleString()? 數(shù)組返回和toString一樣晓褪,數(shù)字返回貨幣格式(千位分隔)堵漱,對(duì)象返回[ObjectObject] 日期返回本地格式化日期

[1,2,3].toLocaleString() // '1,2,3'

Array.prototype.toString() ?將數(shù)組轉(zhuǎn)化為字符串

[1,2,3].toString() // '1,2,3'

Array.prototype.unshift()? 方法將一個(gè)或多個(gè)元素添加到數(shù)組的開(kāi)頭 返回?cái)?shù)組改變后的長(zhǎng)度

var arr = [1,2,3]

arr.unshift('abc')? ? // 4 ? ? arr // ["abc", 1, 2, 3]

Array.prototype.lastIndexOf()? 找數(shù)組的最后一次顯示的某位元素的索引

var ?arr = [2,3,2,4,5,2]

arr.lastIndexOf(2) //5

arr.lastIndexOf(2,1) // 0 第二個(gè)參數(shù)是從第幾位開(kāi)始向前檢索

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市涣仿,隨后出現(xiàn)的幾起案子勤庐,更是在濱河造成了極大的恐慌,老刑警劉巖好港,帶你破解...
    沈念sama閱讀 222,627評(píng)論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件愉镰,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡钧汹,警方通過(guò)查閱死者的電腦和手機(jī)丈探,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,180評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)拔莱,“玉大人碗降,你說(shuō)我怎么就攤上這事√燎兀” “怎么了讼渊?”我有些...
    開(kāi)封第一講書(shū)人閱讀 169,346評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)嗤形。 經(jīng)常有香客問(wèn)我精偿,道長(zhǎng),這世上最難降的妖魔是什么赋兵? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 60,097評(píng)論 1 300
  • 正文 為了忘掉前任笔咽,我火速辦了婚禮,結(jié)果婚禮上霹期,老公的妹妹穿的比我還像新娘叶组。我一直安慰自己,他們只是感情好历造,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,100評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布甩十。 她就那樣靜靜地躺著船庇,像睡著了一般。 火紅的嫁衣襯著肌膚如雪侣监。 梳的紋絲不亂的頭發(fā)上鸭轮,一...
    開(kāi)封第一講書(shū)人閱讀 52,696評(píng)論 1 312
  • 那天,我揣著相機(jī)與錄音橄霉,去河邊找鬼窃爷。 笑死,一個(gè)胖子當(dāng)著我的面吹牛姓蜂,可吹牛的內(nèi)容都是我干的按厘。 我是一名探鬼主播,決...
    沈念sama閱讀 41,165評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼钱慢,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼逮京!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起束莫,我...
    開(kāi)封第一講書(shū)人閱讀 40,108評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤懒棉,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后麦箍,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體漓藕,經(jīng)...
    沈念sama閱讀 46,646評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,709評(píng)論 3 342
  • 正文 我和宋清朗相戀三年挟裂,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了享钞。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,861評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡诀蓉,死狀恐怖栗竖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情渠啤,我是刑警寧澤狐肢,帶...
    沈念sama閱讀 36,527評(píng)論 5 351
  • 正文 年R本政府宣布,位于F島的核電站沥曹,受9級(jí)特大地震影響份名,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜妓美,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,196評(píng)論 3 336
  • 文/蒙蒙 一僵腺、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧壶栋,春花似錦辰如、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,698評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)凯正。三九已至,卻和暖如春豌蟋,著一層夾襖步出監(jiān)牢的瞬間廊散,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,804評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工梧疲, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留奸汇,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,287評(píng)論 3 379
  • 正文 我出身青樓往声,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親戳吝。 傳聞我的和親對(duì)象是個(gè)殘疾皇子浩销,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,860評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容

  • Javascript有很多數(shù)組的方法,有的人有W3C的API听哭,還可以去MDN上去找慢洋,但是我覺(jué)得API上說(shuō)的不全,M...
    頑皮的雪狐七七閱讀 4,095評(píng)論 0 6
  • 一陆盘、數(shù)組方法匯總 shift:刪除原數(shù)組第一項(xiàng)普筹,并返回刪除元素的值;如果數(shù)組為空則返回undefined var ...
    快抓住那個(gè)胖子閱讀 295評(píng)論 0 0
  • 數(shù)組的創(chuàng)建 數(shù)組是值的有序集合隘马。每個(gè)值叫做元素太防,每個(gè)元素在數(shù)組中都有數(shù)字位置編號(hào),也就是索引酸员。JS中的數(shù)組是弱類(lèi)型...
    supa同學(xué)閱讀 478評(píng)論 0 3
  • 本文轉(zhuǎn)載自@陳錚半年前的博文蜒车,原文地址:JavaScript Array 原型方法 大盤(pán)點(diǎn) 數(shù)組是一個(gè)超常用的數(shù)據(jù)...
    浙大javascript聯(lián)盟閱讀 746評(píng)論 0 4
  • 代理模式 為實(shí)際要訪問(wèn)的對(duì)象創(chuàng)建一個(gè)代理,客戶(hù)不再直接訪問(wèn)原始對(duì)象幔嗦,而是通過(guò)代理對(duì)象酿愧,間接訪問(wèn)原始對(duì)象,這樣就可以...
    nightkidjj閱讀 690評(píng)論 0 51