數(shù)組arr常用的方法

  1. arr.push() 添加 后面
  2. arr.pop()   刪除 后面
  3. arr.unshif() 添加 前面
  4. arr.shift() 刪除 前面
  5. arr.reverse()
  6. arr.concat()  拼接兩個(gè)數(shù)組
  7. arr.splice()
  8. arr.slice() 
  9. arr.sort() 排序
  10. arr.join()
  11. arr.toString() 
序號(hào) 方法 釋義 返回值 是否改變?cè)瓟?shù)組
1 arr.push() 數(shù)組的末尾添加一個(gè)或多個(gè)元素 把指定的值添加到數(shù)組后的新長(zhǎng)度 yes
2 arr.pop() 刪除并返回?cái)?shù)組的最后一個(gè)元素 數(shù)組的最后一個(gè)元素 yes(如果數(shù)組已經(jīng)為空滑肉,則 pop() 不改變數(shù)組拟糕,并返回 undefined 值。)
1/2 push() 方法和 pop() 方法 使用數(shù)組提供的先進(jìn)后出棧的功能询一。
3 arr.unshif() 向數(shù)組的開頭添加一個(gè)或多個(gè)元素 返回新數(shù)組的長(zhǎng)度 yes
4 arr.shift() 把數(shù)組的第一個(gè)元素刪除 返回刪除元素的值 yes
5 arr.reverse() 顛倒數(shù)組中元素的順序 該方法會(huì)改變?cè)瓉淼臄?shù)組均唉,而不會(huì)創(chuàng)建新的數(shù)組 yes
6 arr.concat() 方法用于連接兩個(gè)或多個(gè)數(shù)組 被連接數(shù)組的一個(gè)副本 No
7 arr.splice() 向/從數(shù)組中添加/刪除項(xiàng)目是晨,然后返回被刪除的項(xiàng)目(該方法會(huì)改變?cè)瓟?shù)組)!!! 刪除項(xiàng)目的新數(shù)組 yes
8 arr.slice() 從已有的數(shù)組中返回選定的元素 返回一個(gè)新的數(shù)組,包含從 start 到 end (不包括該元素)的 arrayObject 中的元素舔箭。 No
9 arr.sort() 對(duì)數(shù)組的元素進(jìn)行排序罩缴。 arrayObject.sort(sortby)。sortby:可選层扶。規(guī)定排序順序箫章。必須是函數(shù)。 對(duì)數(shù)組的引用镜会。請(qǐng)注意檬寂,數(shù)組在原數(shù)組上進(jìn)行排序,不生成副本戳表。 yes
10 arr.join() 把數(shù)組中的所有元素放入一個(gè)字符串桶至。元素是通過指定的分隔符進(jìn)行分隔的。如果省略分隔符匾旭,則使用逗號(hào)作為分隔符镣屹。 一個(gè)字符串 yes
11 arr.toString() arrayObject 的字符串表示 沒有參數(shù)的 join() 方法返回的字符串相同 yes
8.arr.splice()的擴(kuò)展

arrayObject.splice(index,howmany,item1,…,itemX)

參數(shù) 描述
index 必需。整數(shù)价涝,規(guī)定添加/刪除項(xiàng)目的位置女蜈,使用負(fù)數(shù)可從數(shù)組結(jié)尾處規(guī)定位置。
howmany 必需飒泻。要?jiǎng)h除的項(xiàng)目數(shù)量鞭光。如果設(shè)置為 0,則不會(huì)刪除項(xiàng)目泞遗。
item1, …, itemX 可選惰许。向數(shù)組添加的新項(xiàng)目。
10.arr.slice()的擴(kuò)展

arrayObject.slice(start,end)
請(qǐng)注意史辙,該方法并不會(huì)修改數(shù)組汹买,而是返回一個(gè)子數(shù)組。如果想刪除數(shù)組中的一段元素聊倔,應(yīng)該使用方法 Array.splice()晦毙。

提示和注釋
注釋:您可使用負(fù)值從數(shù)組的尾部選取元素。
注釋:如果 end 未被規(guī)定耙蔑,那么 slice() 方法會(huì)選取從 start 到數(shù)組結(jié)尾的所有元素见妒。
注釋:splice() 方法與 slice() 方法的作用是不同的,splice() 方法會(huì)直接對(duì)數(shù)組進(jìn)行修改甸陌。

參數(shù) 釋義
start 必需须揣。規(guī)定從何處開始選取盐股。如果是負(fù)數(shù),那么它規(guī)定從數(shù)組尾部開始算起的位置耻卡。也就是說疯汁,-1 指最后一個(gè)元素,-2 指倒數(shù)第二個(gè)元素卵酪,以此類推幌蚊。
end 可選。規(guī)定從何處結(jié)束選取溃卡。該參數(shù)是數(shù)組片斷結(jié)束處的數(shù)組下標(biāo)溢豆。如果沒有指定該參數(shù),那么切分的數(shù)組包含從 start 到數(shù)組結(jié)束的所有元素塑煎。如果這個(gè)參數(shù)是負(fù)數(shù)沫换,那么它規(guī)定的是從數(shù)組尾部開始算起的元素。

【es5新增數(shù)組操作方法】

indexOf最铁、forEach讯赏、map、every冷尉、some漱挎、filter、reduce

1雀哨,Array.indexOf()

查找數(shù)組內(nèi)指定元素的位置磕谅,查到第一個(gè)值時(shí)返回其索引,沒查到返回-1

let arr = [1,2,3,4];
console.log(arr.indexOf(3));    // 2
//.lastIndexOf(element)為倒序查找
//跟indexOf()一樣雾棺,只是查找起始點(diǎn)不同膊夹,indexOf是從第一個(gè)開始查找,
//lastIndexOf()是從最后一個(gè)查找捌浩,如果存在放刨,返回下標(biāo),如果不存在返回-1
2尸饺,Array.foreEach()

跟之前的for()循環(huán)一樣进统,只是forEach更靈活

arr.forEach(function(e,index,arr){
   //e  當(dāng)前元素
   //index 可選  當(dāng)前元素的索引。
   //arr 可選  整個(gè)數(shù)組浪听。
});
3螟碎,Array.map()

map()方法返回一個(gè)被操作后的新數(shù)組,不會(huì)改變?cè)瓟?shù)組
map()一般配合return使用迹栓,如果沒有return那跟forEach一樣

arr.map(function(e,index,arr){
   //e  當(dāng)前元素
   //index 可選  當(dāng)前元素的索引掉分。
   //arr 可選  整個(gè)數(shù)組。
});

三、區(qū)別
1酥郭、map速度比foreach快

2尔崔、map會(huì)返回一個(gè)新數(shù)組,不對(duì)原數(shù)組產(chǎn)生影響,foreach不會(huì)產(chǎn)生新數(shù)組褥民,foreach返回undefined

3、map因?yàn)榉祷財(cái)?shù)組所以可以鏈?zhǔn)讲僮飨绰В琭oreach不能

4, map里可以用return ,而foreach里用return不起作用消返,foreach不能用break,會(huì)直接報(bào)錯(cuò)

4耘拇,Array.some()

判斷數(shù)組內(nèi)是否有指定元素撵颊,如果只要有一個(gè)則返回true,如果一個(gè)都沒有則返回false

arr.some(function(element,index,array){
   //element  當(dāng)前元素
   //index 可選  當(dāng)前元素的索引惫叛。
   //array 可選  整個(gè)數(shù)組倡勇。
});
5,Array.filter(callback)
let b = a.filter(item => item.name === 'kele');
console.log(b) //[{name: 'kele', title: '可口可樂'},{name: 'kele', title: '芬達(dá)'}]

//Array.filter()讓我們擺脫了for循環(huán)嘉涌,代碼看起來更加的清爽妻熊!
6,Array.reduce()

遍歷數(shù)組仑最,調(diào)用回調(diào)函數(shù)扔役,將數(shù)組元素合成一個(gè)值返回結(jié)果,其中value為設(shè)定的初始值(可選)

arr.reduce(function(v1, v2), value)

【es6新增數(shù)組操作方法】

1警医,Array.find(callback)

這個(gè)方法是返回?cái)?shù)組中符合條件的第一個(gè)元素亿胸,否則就返回undefined

let a = [1,2,3,4,5];
let b = a.find(item => item > 2);
console.log(b)  // 3
傳入一個(gè)回調(diào)函數(shù),找到數(shù)組中符合搜索規(guī)則的第一個(gè)元素预皇,返回它并終止搜索

const arr = [1, "2", 3, 3, "2"]
console.log(arr.find(item => typeof item === "number")) // 1
2侈玄,Array.findIndex(callback)

這個(gè)方法是返回?cái)?shù)組中符合條件的第一個(gè)元素的索引值,否則就返回-1

let a = [1,2,3,4,5];
let b = a.findIndex(item => item > 2);
console.log(b) // 2 符合條件的為元素3 它的索引為2
找到數(shù)組中符合規(guī)則的第一個(gè)元素吟温,返回它的下標(biāo)

const arr = [1, "2", 3, 3, "2"]
console.log(arr.findIndex(item => typeof item === "number")) // 0
3序仙,Array.includes(item, finIndex)

includes(),判斷數(shù)組是否存在有指定元素溯街,參數(shù):查找的值(必填)诱桂、起始位置,
可以替換 ES5 時(shí)代的 indexOf 判斷方式呈昔。indexOf 判斷元素是否為 NaN挥等,會(huì)判斷錯(cuò)誤。

var a = [1, 2, 3];
let bv = a.includes(2); // true
let cv = a.includes(4); // false
4堤尾,...擴(kuò)展運(yùn)算符

可以很方便的幫我們實(shí)現(xiàn)合并兩個(gè)數(shù)組

let a = [1,2,3];
let b = [4,5,6];
let c = [...a,...b];
console.log(c) // [1,2,3,4,5,6];
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末肝劲,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌辞槐,老刑警劉巖掷漱,帶你破解...
    沈念sama閱讀 207,113評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異榄檬,居然都是意外死亡卜范,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評(píng)論 2 381
  • 文/潘曉璐 我一進(jìn)店門鹿榜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來海雪,“玉大人,你說我怎么就攤上這事舱殿“侣悖” “怎么了?”我有些...
    開封第一講書人閱讀 153,340評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵沪袭,是天一觀的道長(zhǎng)湾宙。 經(jīng)常有香客問我,道長(zhǎng)冈绊,這世上最難降的妖魔是什么侠鳄? 我笑而不...
    開封第一講書人閱讀 55,449評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮死宣,結(jié)果婚禮上畦攘,老公的妹妹穿的比我還像新娘。我一直安慰自己十电,他們只是感情好知押,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,445評(píng)論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著鹃骂,像睡著了一般台盯。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上畏线,一...
    開封第一講書人閱讀 49,166評(píng)論 1 284
  • 那天静盅,我揣著相機(jī)與錄音,去河邊找鬼寝殴。 笑死蒿叠,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的蚣常。 我是一名探鬼主播市咽,決...
    沈念sama閱讀 38,442評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼讥此,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼重窟!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起骄蝇,我...
    開封第一講書人閱讀 37,105評(píng)論 0 261
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎谷醉,沒想到半個(gè)月后致稀,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,601評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡俱尼,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,066評(píng)論 2 325
  • 正文 我和宋清朗相戀三年抖单,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片遇八。...
    茶點(diǎn)故事閱讀 38,161評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡臭猜,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出押蚤,到底是詐尸還是另有隱情,我是刑警寧澤羹应,帶...
    沈念sama閱讀 33,792評(píng)論 4 323
  • 正文 年R本政府宣布揽碘,位于F島的核電站,受9級(jí)特大地震影響园匹,放射性物質(zhì)發(fā)生泄漏雳刺。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,351評(píng)論 3 307
  • 文/蒙蒙 一裸违、第九天 我趴在偏房一處隱蔽的房頂上張望掖桦。 院中可真熱鬧,春花似錦供汛、人聲如沸枪汪。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽雀久。三九已至,卻和暖如春趁舀,著一層夾襖步出監(jiān)牢的瞬間赖捌,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評(píng)論 1 261
  • 我被黑心中介騙來泰國打工矮烹, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留越庇,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,618評(píng)論 2 355
  • 正文 我出身青樓奉狈,卻偏偏與公主長(zhǎng)得像卤唉,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子仁期,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,916評(píng)論 2 344

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