Javascript數(shù)組方法

#數(shù)組創(chuàng)建
      let arr1 = [1, 2, 3]; // [1, 2, 3]
      let arr2 = Array(); // []
      let arr3 = Array(2); // [undefined, undefined]
      let arr4 = Array(1,2,3);  // [1, 2, 3]
#.將一個(gè)對象轉(zhuǎn)換為數(shù)組
/*
* 第一個(gè)參數(shù):被轉(zhuǎn)化的數(shù)組
* 第二個(gè)參數(shù):對每個(gè)元素進(jìn)行處理院刁,將處理后的結(jié)果返回的數(shù)組(類型map)
* 第三個(gè)參數(shù):用來綁定this
*/

// 當(dāng)參數(shù)為一個(gè)Object類型時(shí),需要有l(wèi)ength屬性,用來指定數(shù)組長度屯仗,默認(rèn)為0
    Array.from({ 2: '2', a: 'a', 0: '0', length: 4})  //  ['0', undefined, 2: undefined]
    Array.from({ 2: '2', a: 'a', 0: '0', length: 2})  //  ['0', undefined]
    Array.from({ 2: '2', a: 'a', 0: '0', length: 2}, v => v || '')   // ['0', '']
    Array.from('hello') //  ['h', 'e', 'l', 'l', 'o']
#.判斷數(shù)組是否是一個(gè)Array類型
     Array.isArray([1,2,3])  // true
     Array.isArray({a: 'a'}) // false
     Array.isArray('hello')  // false
     Array.isArray(Array(3)) // true
     Array.isArray(null)     // false
#.Array.of; (把所有的參數(shù)放到一個(gè)數(shù)組中返回)
    let arr1 = Array.of(1, 2, 3); // [1, 2, 3]
    let arr1 = Array.of();        // []
#, copyWithin: 從數(shù)組的指定位置拷貝元素到另一個(gè)指定位置
/*
 *  第一個(gè)參數(shù):復(fù)制的目標(biāo)位置
 *  第二個(gè)參數(shù):復(fù)制的開始位置(閉區(qū)間)
 *  第三個(gè)參數(shù):復(fù)制的結(jié)束位置(開區(qū)間)
 */
    let arr = [1,2,3,4,5,6]
    arr.copyWithin(4, 1, 3) // [1,2,3,4,2,3]
#, entries: 返回一個(gè)數(shù)組的迭代對象(Iterator)
    let arr = [1,2,3]
    let it = arr.entries()
    console.log(it.next())  // {value: [0,1], done: false}
    console.log(it.next())  // {value: [1,2], done: false}
    console.log(it.next())  // {value: [2,3], done: false}
    console.log(it.next())  // {value: undefined, done: true}
#, every: 對數(shù)組中所有的元素進(jìn)行檢查梅垄,返回布爾值.
#,some: 和every類似,every是需要所有元素都滿足條件圣勒,而some只要有滿足的就會返回true
  every: 對數(shù)組中所有的元素進(jìn)行檢查盆色,返回布爾值
  some: 和every類似,every是需要所有元素都滿足條件胰耗,而some只要有滿足的就會返回true
  let arr = [1,2,3]
  arr.every(v => { console.log(v); return v < 10}) // 1 2 3 true
  arr.every(v => { console.log(v); return v < 2})  // 1 2 false
  arr.some(v => { console.log(v); return v < 2})  // 1 true
#, fill: 用一個(gè)固定值替換數(shù)組中的元素
/*
 *  第一個(gè)參數(shù):填充的值
 *  第二個(gè)參數(shù):填充的開始位置(閉區(qū)間)
 *  第三個(gè)參數(shù):填充的結(jié)束位置(開區(qū)間)
 */
  let arr = [1,2,3,4,5,6]
  arr.fill(0, 1, 3) // [1,0,0,4,5,6]
  Array(2).fill(0)  // [0,0]
#, filter: 創(chuàng)建一個(gè)新數(shù)組限次,返回原數(shù)組中滿足條件的所有元素
let arr1 = [
  { age: 10, name: '10'},
  { age: 23, name: '23'},
  { age: 16, name: '16'},
  { age: 11, name: '11'},
  { age: 37, name: '37'}
]
arr1.filter(v => v.age < 18)

// 輸出
/* [
 *   { age: 10, name: '10'},
 *   { age: 16, name: '16'},
 *   { age: 11, name: '11'}
 * ]
 */
#, find: 返回?cái)?shù)組中第一個(gè)滿足條件的元素。findIndex: 返回?cái)?shù)組中第一個(gè)滿足條件的元素的索引值
 let arr1 = [
    { age: 10, name: '10'},
    { age: 23, name: '23'},
    { age: 16, name: '16'},
    { age: 11, name: '11'},
    { age: 37, name: '37'}
  ]
arr1.find(v => v.age > 18)  // { age: 23, name: '23'}
#, flat: 創(chuàng)建一個(gè)新數(shù)組柴灯,扁平化原嵌套數(shù)組卖漫,參數(shù)為扁平的層數(shù),該方法會移除空項(xiàng)
 let arr1 = [1, , [2, [3, , [4]]]]
  arr.flat()      // [1,2,[3, , [4]]]
  arr.flat(2)     // [1,2,3,[4]]
  arr.flat(3)     // [1,2,3,4]
  arr.toString()  // '1,,2,3,,4'
#,flatMap: 和 map 相近弛槐,但是會將返回結(jié)果壓平一層
  let arr1 = [1,2,3]
  arr1.map(v => [v * 2])    // [[2], [4], [6]]
  arr1.flatMap(v => [v * 2]) // [2, 4, 6]
#,forEach: 遍歷數(shù)組中的每一個(gè)元素
 let arr1 = [1,2,3]
arr1.forEach(v=>{console.log(v)}) // 1,2,3
#,includes: 判斷一個(gè)數(shù)組中是否包含一個(gè)元素
let obj = {id: 2, valu
let arr = [
  obj,
  'hello',
  {id: 1, value: '1'}
]

arr.includes({id: 1, value: '1'}) // false
arr.includes(obj) // true
arr.includes('hello') // true
#,indexOf:找到滿足條件元素的索引值懊亡,從第一個(gè)參數(shù)開始尋找依啰。lastIndexOf:尋找順序與indexOf相反乎串。findIndex:查找元素的位置索引,和indexOf不同的是findIndex可以查找對象速警。而indexOf只可以查找數(shù)組
let arr1 = ['a', 'b', 'c','b']
arr1.indexOf('b') // 1
arr1.lastIndexOf('b') // 3
#,join:將元素連接成一個(gè)字符串叹誉,并用分隔符分割(第一個(gè)參數(shù))
let arr = [1, 2,3,4,5]
arr.join(' , ') //  '1,2,3,4,5'
#,map: 返回一個(gè)新數(shù)組,數(shù)組中的元素為原數(shù)組經(jīng)過處理后的值
let arr1 = [{id:1}, {id:2}, {id: 3}]
arr1.map(v => v.id) //  [1, 2, 3]
#,pop: 刪除原數(shù)組的最后一個(gè)元素
let arr = [1,2,3]
arr.pop() // [1,2]
#,push: 在原數(shù)組的末尾添加一個(gè)元素
let arr = [1,2,3]
arr.push(4) // [1,2,3,4]
#,shift: 刪除原數(shù)組的第一個(gè)元素
let arr = [1,2,3,4]
arr.shift() // [2,3,4]
#,unshift: 在原數(shù)組開頭添加一個(gè)元素
let arr = [1,2,3,4]
arr.unshift(0) // [0,1,2,3,4]
#闷旧,reverse: 顛倒原數(shù)組中元素的順序
let arr = [1,2,3]
arr.reverse() // [3,2,1]
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末长豁,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子忙灼,更是在濱河造成了極大的恐慌匠襟,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,743評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件该园,死亡現(xiàn)場離奇詭異酸舍,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)里初,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評論 3 385
  • 文/潘曉璐 我一進(jìn)店門啃勉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人双妨,你說我怎么就攤上這事淮阐。” “怎么了刁品?”我有些...
    開封第一講書人閱讀 157,285評論 0 348
  • 文/不壞的土叔 我叫張陵泣特,是天一觀的道長。 經(jīng)常有香客問我挑随,道長状您,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,485評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮竞阐,結(jié)果婚禮上缴饭,老公的妹妹穿的比我還像新娘。我一直安慰自己骆莹,他們只是感情好颗搂,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,581評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著幕垦,像睡著了一般丢氢。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上先改,一...
    開封第一講書人閱讀 49,821評論 1 290
  • 那天疚察,我揣著相機(jī)與錄音,去河邊找鬼仇奶。 笑死貌嫡,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的该溯。 我是一名探鬼主播岛抄,決...
    沈念sama閱讀 38,960評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼狈茉!你這毒婦竟也來了夫椭?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,719評論 0 266
  • 序言:老撾萬榮一對情侶失蹤氯庆,失蹤者是張志新(化名)和其女友劉穎蹭秋,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體堤撵,經(jīng)...
    沈念sama閱讀 44,186評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡仁讨,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,516評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了粒督。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片陪竿。...
    茶點(diǎn)故事閱讀 38,650評論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖屠橄,靈堂內(nèi)的尸體忽然破棺而出族跛,到底是詐尸還是另有隱情,我是刑警寧澤锐墙,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布礁哄,位于F島的核電站,受9級特大地震影響溪北,放射性物質(zhì)發(fā)生泄漏桐绒。R本人自食惡果不足惜夺脾,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,936評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望茉继。 院中可真熱鬧咧叭,春花似錦、人聲如沸烁竭。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,757評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽派撕。三九已至婉弹,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間终吼,已是汗流浹背镀赌。 一陣腳步聲響...
    開封第一講書人閱讀 31,991評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留际跪,地道東北人商佛。 一個(gè)月前我還...
    沈念sama閱讀 46,370評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像垫卤,于是被迫代替她去往敵國和親威彰。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,527評論 2 349

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

  • 摘要: 通過代碼掌握數(shù)組方法穴肘。 原文:通過實(shí)現(xiàn)25個(gè)數(shù)組方法來理解及高效使用數(shù)組方法(長文,建議收藏) 譯者:前端...
    Fundebug閱讀 1,437評論 2 36
  • concat 注意,a數(shù)組并沒有改變舔痕,只是返回了一個(gè)新數(shù)組评抚。 copyWithin 它接受三個(gè)參數(shù)。target ...
    Funwt閱讀 668評論 0 10
  • Array 對象用于在單個(gè)的變量中存儲多個(gè)值伯复。 數(shù)組創(chuàng)建 字面量 - 推薦使用 構(gòu)造函數(shù) 當(dāng)把構(gòu)造函數(shù)作為函數(shù)調(diào)用...
    流失的陰霾閱讀 276評論 0 1
  • 1 概述 1.1 前言 JavaScript數(shù)組方法速查手冊極簡版中共收了32個(gè)數(shù)組的常用方法和屬性慨代,并根據(jù)方法的...
    老周學(xué)前端閱讀 223評論 0 0
  • 奶奶生病的那段日子,正值秋季啸如。銀杏葉似乎是一夜之間憔悴了侍匙,滿樹掛著黃色的葉子,那葉子風(fēng)一吹便紛紛飄落叮雳,仿佛永...
    秦苜閱讀 296評論 0 0