分享一些常用的Es5和Es6的數(shù)組方法

首先是Es5系列

1昂利、indexOf

用途: 用于查找數(shù)組中是否存在某個值题篷,如果存在則返回某個值的下標啊研,否則返回-1

let list = [1, 2, 3];

console.log(list.indexOf(2)) // 1

console.log(list.indexOf("蛙人")) // -1

2、map

用途: map是一個數(shù)組函數(shù)方法,接收三個參數(shù),value,index,self冻押,返回值是處理完的結果。

let list = [1, 2, 3];

const res = list.map((value, key, self) => {

? console.log(value) // 1 2 3

? console.log(key) // 0 1 2

? console.log(self) // [1, 2, 3]

? return value * 2

})

console.log(res)

3盛嘿、forEach

用途: 用于遍歷一個數(shù)組洛巢,接收三個參數(shù),value次兆,index稿茉,self,返回值為undefined

let list = [1, 2, 3];

const res = list.forEach((value, key, self) => {

? ? console.log(value) // 1 2 3

? ? console.log(key) // 0 1 2

? ? console.log(self) // [1, 2, 3]

? ? return 123

})

console.log(res) // undefined

4芥炭、splice

用途: 用于數(shù)組刪除或替換內容漓库,接收三個參數(shù):

第一個參數(shù)是,刪除或添加的位置

第二個參數(shù)是园蝠,要刪除的幾位渺蒿,如果為0則不刪除

第三個參數(shù)是,向數(shù)組添加內容

let list = [1, 2, 3];

list.splice(0, 1) // 把第0個位置彪薛,給刪除一位

console.log(list) // [2, 3]

list.splice(0, 1, "蛙人") // 把第0個位置茂装,給刪除一位,添加上一個字符串

console.log(list) // ["蛙人", 2, 3]

list.splice(0, 2, "蛙人") // 把第0個位置陪汽,給刪除2位训唱,添加上一個字符串

console.log(list) // ["蛙人", 3]

5褥蚯、slice

用途: 用于截取數(shù)組值挚冤,接收兩個參數(shù),第一個參數(shù)是要獲取哪個值的下標赞庶,第二個參數(shù)是截取到哪個下標的前一位训挡。

let list = [1, 2, 3];

let res = list.slice(1, 3) // 從第一位下標開始截取,到第三位下標的前一位歧强,所以截取出來就是 [2, 3]

console.log(res) // [2, 3]

6澜薄、filter

用途: 用于過濾數(shù)組內的符合條件的值,返回值為滿足條件的數(shù)組對象

let list = [1, 2, 3];

let res = list.filter(item => item > 1);

console.log(res) // [2, 3]

7摊册、every

用途: 用于檢測數(shù)組所有元素是否都符合指定條件肤京,返回值為Boolean , 該方法是數(shù)組中必須全部值元素滿足條件返回true,否則false

let list = [1, 2, 3];

let res = list.every(item => item > 0)

console.log(res) // true

let res1 = list.every(item => item > 1)

console.log(res1) // false

8、some

用途: 用于檢測數(shù)組中的元素是否滿足指定條件忘分,返回值為Boolean , 該方法是只要數(shù)組中有一項滿足條件就返回true棋枕,否則false

let list = [1, 2, 3];

let res = list.some(item => item > 0)

console.log(res) // true

9、reduce

用途: 該方法接收一個函數(shù)作為累加器妒峦,數(shù)組中的每個值(從左到右)開始縮減重斑,最終計算為一個值。該方法回調函數(shù)接收四個參數(shù)

第一個參數(shù):初始值, 或者計算結束后的返回值

第二個參數(shù):當前元素

第二個參數(shù):當前元素的索引

第四個參數(shù):當前元素所屬的數(shù)組對象肯骇,本身

我們一般只用前兩個就行窥浪,reduce第一個參數(shù)回調函數(shù),第二個參數(shù)是初始值

let list = [1, 2, 3];

let res = list.reduce(( prev, cur ) => prev += cur, 0)

console.log(res) // 6

9笛丙、reverse

用途: 用于數(shù)組反轉

let list = [1, 2, 3];

let res = list.reverse();

console.log(res) // [3, 2, 1]

10漾脂、join

用途: 用于數(shù)據以什么形式拼接

let list = [1, 2, 3];

let res = list.join("-");

console.log(res) // 1-2-3

let sum = eval(list.join("+"))

console.log(sum) // 6

11、sort

用途: 用于將數(shù)組排序胚鸯,排序規(guī)則看返回值

返回值為正數(shù),后面的數(shù)在前面

返回值為負數(shù),前面的數(shù)不變,還在前面

返回值為0,都不動

let list = [1, 2, 3];

let sort = list.sort((a, b) => b - a)

console.log(sort) // [3, 2, 1]

12符相、concat

用途: 用于合并數(shù)組原始

let list = [1, 2, 3];

let res = list.concat([1, 2, 3])

console.log(res) // [1, 2, 3, 1, 2, 3]

13、push

用途: 向數(shù)組后面添加元素蠢琳,返回值為數(shù)組的length

let list = [1, 2, 3];

let res = list.push(1)

console.log(res) // 4

14啊终、pop

用途: 用于刪除數(shù)組尾部的元素,返回值為刪除的元素

let list = [1, 2, 3];

let res = list.pop()

console.log(res) // 3

15傲须、shift

用途: 用于刪除數(shù)組的頭部蓝牲,返回值為刪除的元素

let list = [1, 2, 3];

let res = list.shift()

console.log(res) // 1

16、unshift

用途: 向數(shù)組的頭部添加元素泰讽,返回值為數(shù)組的length

let list = [1, 2, 3];

let res = list.unshift(1)

console.log(res) // 4

17例衍、toString

用途: 用于將數(shù)組內容轉換為字符串

let list = [1, 2, 3];

let res = list.toString()

console.log(res) // 1,2,3

18、Array.isArray

用途: 檢測對象是不是一個數(shù)組

let list = [1, 2, 3];

let res =? Array.isArray(list)

console.log(res) // true

其次是Es5系列

1已卸、includes

用途: 檢測數(shù)組中是否存在該元素佛玄,返回Boolean值

let list = [1, 2, 3];

let res = list.includes("蛙人")

let res1 = list.includes(1)

console.log(res, res1) // false true

2、find

用途: 查找數(shù)組的元素累澡,滿足條件的返回單個值梦抢,按照就近原則返回

let list = [1, 2, 3];

let res = list.find((item) => item > 1)

console.log(res) // 2, 按照就近原則返回

3、findIndex

用途: 查找數(shù)組中元素愧哟,滿足條件的返回數(shù)組下標

let list = [1, 2, 3];

let res = list.findIndex((item) => item > 1)

console.log(res) // 1, 按照就近原則返回下標

4奥吩、flat

用途: 用于拉平嵌套數(shù)組對象

let list = [1, 2, 3, [4, [5]]];

let res = list.flat(Infinity)

console.log(res) // [1, 2, 3, 4, 5]

5、fill

用途: 用于填充數(shù)組對象

let list = [1, 2, 3];

let res = list.fill(1)

console.log(res) // [1, 1, 1]

6蕊梧、Array.from

用途: 將偽數(shù)組轉換為真數(shù)組

let res = Array.from(document.getElementsByTagName("div"))

console.log(res) // 轉換為真數(shù)組就可以調用數(shù)組原型的方法

7霞赫、Array.of

用途: 用于生成一個數(shù)組對象,主要是用來彌補Array()的不足

let res = Array.of(1, 2, 3)

console.log(res) // [1, 2, 3]

總結:

其實用的比較多的還是Es5的方法偏多肥矢,歡迎大家補充端衰。

其中總結咯一些會改變原始數(shù)組值的有

splice、reverse、sort旅东、push惕味、pop、shift玉锌、unshift名挥、fill

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市主守,隨后出現(xiàn)的幾起案子禀倔,更是在濱河造成了極大的恐慌,老刑警劉巖参淫,帶你破解...
    沈念sama閱讀 218,122評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件救湖,死亡現(xiàn)場離奇詭異,居然都是意外死亡涎才,警方通過查閱死者的電腦和手機鞋既,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來耍铜,“玉大人邑闺,你說我怎么就攤上這事∽丶妫” “怎么了陡舅?”我有些...
    開封第一講書人閱讀 164,491評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長伴挚。 經常有香客問我靶衍,道長,這世上最難降的妖魔是什么茎芋? 我笑而不...
    開封第一講書人閱讀 58,636評論 1 293
  • 正文 為了忘掉前任颅眶,我火速辦了婚禮,結果婚禮上田弥,老公的妹妹穿的比我還像新娘涛酗。我一直安慰自己,他們只是感情好皱蹦,可當我...
    茶點故事閱讀 67,676評論 6 392
  • 文/花漫 我一把揭開白布煤杀。 她就那樣靜靜地躺著眷蜈,像睡著了一般沪哺。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上酌儒,一...
    開封第一講書人閱讀 51,541評論 1 305
  • 那天辜妓,我揣著相機與錄音,去河邊找鬼。 笑死籍滴,一個胖子當著我的面吹牛酪夷,可吹牛的內容都是我干的。 我是一名探鬼主播孽惰,決...
    沈念sama閱讀 40,292評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼晚岭,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了勋功?” 一聲冷哼從身側響起坦报,我...
    開封第一講書人閱讀 39,211評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎狂鞋,沒想到半個月后片择,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經...
    沈念sama閱讀 45,655評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡骚揍,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,846評論 3 336
  • 正文 我和宋清朗相戀三年字管,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片信不。...
    茶點故事閱讀 39,965評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡嘲叔,死狀恐怖,靈堂內的尸體忽然破棺而出抽活,到底是詐尸還是另有隱情借跪,我是刑警寧澤,帶...
    沈念sama閱讀 35,684評論 5 347
  • 正文 年R本政府宣布酌壕,位于F島的核電站掏愁,受9級特大地震影響,放射性物質發(fā)生泄漏卵牍。R本人自食惡果不足惜果港,卻給世界環(huán)境...
    茶點故事閱讀 41,295評論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望糊昙。 院中可真熱鬧辛掠,春花似錦、人聲如沸释牺。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,894評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽没咙。三九已至猩谊,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間祭刚,已是汗流浹背牌捷。 一陣腳步聲響...
    開封第一講書人閱讀 33,012評論 1 269
  • 我被黑心中介騙來泰國打工墙牌, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人暗甥。 一個月前我還...
    沈念sama閱讀 48,126評論 3 370
  • 正文 我出身青樓喜滨,卻偏偏與公主長得像,于是被迫代替她去往敵國和親撤防。 傳聞我的和親對象是個殘疾皇子虽风,可洞房花燭夜當晚...
    茶點故事閱讀 44,914評論 2 355

推薦閱讀更多精彩內容