Array

String.prototype.repeat()ES6

構造并返回一個新字符串春贸,該字符串是原字符串重復若干次的結果久窟。

/*實用指數(shù) ??? 常用指數(shù) ??*/

>"切克鬧".repeat(3)

→"切克鬧切克鬧切克鬧"



數(shù)組

遍歷數(shù)組

用for循環(huán) 遍歷數(shù)組

var sxs = ['1','2','3','4','5','6','7','8','9','10','11','12'];

for( var i = 0 ; i

console.log('sssss'+sxs[i])

};

EC5 的遍歷數(shù)組方法 。

forEach? ? ? ? ? (function(每一個數(shù)組, 每一個數(shù)組的下標, 列表? 不常用 ){})

var sxs=['1','2','3','4','5','6','7','8','9','10','11','12'];

sxs.forEach(function(i,l){

console.log(i+(l+1));

})

for ?of ? ?EC6的方法

let ?sxs = ["??","??","??","??","??","??","??","??","??","??","??","??"];

for(let sx of sxs){console.log(`十二生肖之${sx}`);}


數(shù)組 api

數(shù)組與字符串

split將通過特定符號(如逗號,)隔開內容的字符串分拆成一個數(shù)組深胳。

String.prototype.split()將通過特定符號(如逗號,)隔開內容的字符串分拆成一個數(shù)組或详。

"格物致知".split('')→ ?["格","物","致","知"]

"We is for of split join".split(' ')→? ["we","is","for","of","split","join"]? //按空格來分拆成一個數(shù)組

join將數(shù)組元素連接成一個字符串并返回,數(shù)組本身不會因此改變

Array.prototype.join()將數(shù)組元素連接成一個字符串并返回复罐,數(shù)組本身不會因此改變。

["we","is","for","of","split","join"].join('') ?//按字符串連接在一起

"weisforofsplitjoin"

["we","is","for","of","split","join"].join(' ')? //按空格連接在一起

"we is for of split join"

數(shù)組API

數(shù)組常用API

判定

Array.isArray() ? ES5方法用于.判斷某個值是否數(shù)組

Array. isArray('') ? ? ? false

Array. isArray([]) ? ? ? true

Array.pretotype.some() ES5 方法是用于判定中是否有? 部分的元素? 通過條件的測試

>[95,85,100,90,82,100,99,98,95].some(score=>score===100)

→true

>['劉備','關羽','張飛','曹操','孫權'].some(function(name) {

return name.endsWith('瑜'); })// endsWith方法返回的測試該字符串是否以指定的后綴 結束雄家, 是的話返回true效诅, 否的話則返回false

→false

Array.pretotype.every()ES5 方法用于判定數(shù)組的 ? ?所有元素 ? 是否通過了條件函數(shù)的測試

['劉備','劉于','劉飛','劉操','劉奇','劉索'].every(function(name){return name.startsWith('劉');})

// startsWith 方法返回的測試該字符串是否以指定的前綴開始, 是的話返回true趟济, 否的話則返回false

true

遍歷

Array.prototype.forEach()ES5方法用于遍歷數(shù)組乱投,并將提供的函數(shù)作用在每個元素上

var ls=['蘋果','香蕉','芒果','西瓜'].forEach(function(ll,xx){console.log(`我喜歡吃的水果${xx+1}位是${ll}`);})

修改

Array.prototype.push()方法將一個 , 或者多個元素添加到 數(shù)組末尾顷编,并返回數(shù)組的最新長度戚炫。

ls = ['鼠','牛','龍','虎','狗']

ls.push('雞','羊')

["鼠", "牛", "龍", "虎", "狗", "雞", "羊"]

Array.prototype.pop()方法將一個 , 數(shù)組末尾的數(shù)組刪除勾效,并返回數(shù)組的最新長度嘹悼。 pop 會修改數(shù)組長度

>var ns = ['華為5','iphone 6','iphone 7']

>ns

-['華為5','iphone 6','iphone 7']

>var si = ns.pop()

>si

-iphone 7

>ns

['華為5','iphone 6']

Array.pretotype.shift()方法是將數(shù)組的 ?第一個元素刪除 ?叛甫, 并返回該元素的值层宫,數(shù)組的長度 length因此改變。

var stas= ['笑','哭','不','得']

stas.shift()

"笑"

stas

[''哭','不','得'}

Array.pretotype.unshift() 方法是 將一個或多個元素添加到數(shù)組開頭其监,并返回數(shù)組的最新長度萌腿。

var learn = ['CSS','HTML']

learn.unshift('JavaScript')

learn

['JavaScript','CSS','HTML']

Array.prototype.splice()方法通過刪除現(xiàn)有的元素和 , 或添加元素來更改一個數(shù)組抖苦。

copyWithin? ? ? ? ? ? ES6的 API? 用來復制更換某個元素

>var蜀=['劉備','關羽','張飛'];

→undefined>

蜀.splice(1,0,'諸葛亮','龐統(tǒng)')//諸葛亮龐統(tǒng)先后拜入劉備帳下 ?//

→ []

>蜀

→ ["劉備","諸葛亮","龐統(tǒng)","關羽","張飛"]

>蜀.splice(2,1)//龐統(tǒng)戰(zhàn)死于雒城

→ ["龐統(tǒng)"]>

蜀→ ["劉備","諸葛亮","關羽","張飛"]

>蜀.splice(2,2,'劉嬋','趙云','廖化')//關羽張飛先后被殺

→ ["關羽","張飛"]

>蜀→ ["劉備","諸葛亮","劉嬋","趙云","廖化"]

>蜀.copyWithin(0,2,3).splice(2,1)//劉備去世毁菱,劉嬋繼位 ? ? ? //copyWithin(更換的元素,復制的元素位置,復制的元素位置到哪的數(shù)字)? ES6的 API? 用來復制更換某個元素

→ ["劉嬋"]

>蜀→ ["劉嬋","諸葛亮","趙云","廖化"]

排序

Array.pretotype.sort()? 方法對數(shù)組進行排序并返回米死,默認排序順序是根據(jù)字符串Unicode碼點

>['c','p','w','g','h','a','b','r']

→["a", "b", "c", "g", "h", "p", "r", "w"]

> [1, 12, 200, 23, 2].sort() ? ? ? ? //數(shù)字排序不了,需要添加一個函數(shù)來進行排序

→[1, 12, 200, 23, 2]

>[1, 12, 200, 23, 2].sort(function(a,b){return a-b }) //添加函數(shù)表達式贮庞,使用A-B峦筒, 如果A-B結果小于0則不變,如果A-B結果大于0 則更換位置窗慎, ? ? 數(shù)字小的排序在前面物喷。數(shù)字大在后面

→[1, 2, 12, 23, 200]

>[1, 12, 200, 23, 2].sort(function(a,b){return b-a }) //添加函數(shù)表達式,使用B-A則得到和a-b相反遮斥,

→[[200, 23, 12, 2, 1]

搜索

Array.pretotype.indexOf()方法是用于搜索 查找的元素的下標

>"年年有今日峦失,歲歲有今朝。".indexOf('今日')

→3

>"問君能有幾多愁术吗?恰是一江春水向東流尉辑。".indexOf('樂')

→-1

>"年年歲歲花相似,歲歲年年人不同较屿。".indexOf('年年',2)

→10

映射

Array.prototype.map()ES5 方法是返回一個新數(shù)組隧魄,新數(shù)組中的每個元素都是映射函數(shù)作用在原數(shù)組元素上的結果

>[1,2,3,4,5,6].map(function(x){return x*x})

-[1, 4, 9, 16, 25, 36]

>['冷','熱','痛','痛'].map(function(stri){return stri.repeat(3);})

-["冷冷冷", "熱熱熱", "痛痛痛", "痛痛痛"]

歸納

Arrat.pretotype.reduce()

將數(shù)組里的值求和

var sum = [0, 1, 2, 3].reduce(function (a, b) {

return a + b;

}, 0);


var flattened = [[0, 1], [2, 3], [4, 5]].reduce(

function(a, b) {

return a.concat(b);

})? // flattened is [0, 1, 2, 3, 4, 5]


MapReduce

MapReduce是Google提出的一個軟件架構,用于大規(guī)模數(shù)據(jù)集(大于1TB)的并行運算隘蝎。 概念“Map(映射)”和“Reduce(歸納)”堤器,及他們的主要思想,都是從函數(shù)式編程語言借來的末贾,還有從矢量編程語言借來的特性闸溃。

MapReduce 用于購物車總價結算

var items = [//購物車里面的產(chǎn)品價格數(shù)量

{title:'蘋果',price:5,puantity:3 },//產(chǎn)品數(shù)量,價格

{title:'雪梨',price:8,puantity:6 },

{title:'香蕉',price:6,puantity:8 },

]

console.log(items.map(fruit => fruit.price* fruit.puantity).reduce((a,b)=> a+b ))//使用MapReduce完成購物車總價格計算

篩選

Aray.pretoty.filter() ES5 ?方法返回一個包含滿足條件函數(shù)的數(shù)組元素組成的新數(shù)組拱撵。

>[1,2,3,4,5,6,7,8,9,10].filter(function(n) {returnn%2===0; })

→ [2,4,6,8,10]

>['王維','劉禹錫','王勃','白居易','王之渙','賀知章','陳子昂'].filter(name=>name.startsWith('王'))

→ ["王維","王勃","王之渙"]

查找

Array.prototype.find()ES6方法返回數(shù)組中第一個滿足條件函數(shù)的元素的值辉川,沒有則返回undefined。

>[2,8,32,7,15,23,36,45].find(x => x%3===0)

→15

>['劉備','關羽','張飛','曹操','孫權'].find(name=>name.endsWith('瑜'))? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //endsWith方法返回的測試該字符串是否以指定的后綴 結束拴测, 是的話返回true乓旗, 否的話則返回false

undefined

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市集索,隨后出現(xiàn)的幾起案子屿愚,更是在濱河造成了極大的恐慌,老刑警劉巖务荆,帶你破解...
    沈念sama閱讀 221,820評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件妆距,死亡現(xiàn)場離奇詭異,居然都是意外死亡函匕,警方通過查閱死者的電腦和手機娱据,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,648評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來盅惜,“玉大人中剩,你說我怎么就攤上這事忌穿。” “怎么了结啼?”我有些...
    開封第一講書人閱讀 168,324評論 0 360
  • 文/不壞的土叔 我叫張陵掠剑,是天一觀的道長。 經(jīng)常有香客問我郊愧,道長澡腾,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,714評論 1 297
  • 正文 為了忘掉前任糕珊,我火速辦了婚禮动分,結果婚禮上,老公的妹妹穿的比我還像新娘红选。我一直安慰自己澜公,他們只是感情好,可當我...
    茶點故事閱讀 68,724評論 6 397
  • 文/花漫 我一把揭開白布喇肋。 她就那樣靜靜地躺著坟乾,像睡著了一般。 火紅的嫁衣襯著肌膚如雪蝶防。 梳的紋絲不亂的頭發(fā)上甚侣,一...
    開封第一講書人閱讀 52,328評論 1 310
  • 那天,我揣著相機與錄音间学,去河邊找鬼殷费。 笑死,一個胖子當著我的面吹牛低葫,可吹牛的內容都是我干的详羡。 我是一名探鬼主播,決...
    沈念sama閱讀 40,897評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼嘿悬,長吁一口氣:“原來是場噩夢啊……” “哼实柠!你這毒婦竟也來了?” 一聲冷哼從身側響起善涨,我...
    開封第一講書人閱讀 39,804評論 0 276
  • 序言:老撾萬榮一對情侶失蹤窒盐,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后钢拧,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蟹漓,經(jīng)...
    沈念sama閱讀 46,345評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,431評論 3 340
  • 正文 我和宋清朗相戀三年娶靡,在試婚紗的時候發(fā)現(xiàn)自己被綠了牧牢。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,561評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡姿锭,死狀恐怖塔鳍,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情呻此,我是刑警寧澤轮纫,帶...
    沈念sama閱讀 36,238評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站焚鲜,受9級特大地震影響掌唾,放射性物質發(fā)生泄漏。R本人自食惡果不足惜忿磅,卻給世界環(huán)境...
    茶點故事閱讀 41,928評論 3 334
  • 文/蒙蒙 一糯彬、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧葱她,春花似錦撩扒、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,417評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至豪墅,卻和暖如春泉手,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背偶器。 一陣腳步聲響...
    開封第一講書人閱讀 33,528評論 1 272
  • 我被黑心中介騙來泰國打工斩萌, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人屏轰。 一個月前我還...
    沈念sama閱讀 48,983評論 3 376
  • 正文 我出身青樓术裸,卻偏偏與公主長得像,于是被迫代替她去往敵國和親亭枷。 傳聞我的和親對象是個殘疾皇子袭艺,可洞房花燭夜當晚...
    茶點故事閱讀 45,573評論 2 359

推薦閱讀更多精彩內容

  • 本文轉載自@陳錚半年前的博文,原文地址:JavaScript Array 原型方法 大盤點 數(shù)組是一個超常用的數(shù)據(jù)...
    浙大javascript聯(lián)盟閱讀 746評論 0 4
  • javascript Array 1. Properties Array.length var arr = ["a...
    echo_me閱讀 169評論 0 0
  • 1叨粘、isArray方法Array.isArray方法用來判斷一個值是否為數(shù)組猾编。var a = [1,2];type...
    秋秋秋web閱讀 253評論 0 0
  • 此文章用于歸納Array的所有方法 在JavaScript中,除了Object升敲,用得最多的可能就是數(shù)組Array了...
    moonburn閱讀 281評論 1 3
  • 定義數(shù)組 用字面量創(chuàng)建 用new Array()創(chuàng)建 或 Array.indexOf 返回在數(shù)組中可以找到給定元素...
    zqyadam閱讀 1,019評論 0 48