犀牛書7-數(shù)組

數(shù)組是經(jīng)歷過優(yōu)化的對象,用數(shù)字索引來訪問數(shù)組一般來說要比訪問常規(guī)的對象屬性要快很缀去;

數(shù)組的直接量允許有可選的結尾的逗號软舌,所以[ , , ]的長度為2羽圃;

數(shù)組是對象的特殊的方式欢搜,使用【】來訪問數(shù)組元素的時候封豪,就像用方括號訪問對象的屬性;過程是:JavaScript現(xiàn)將數(shù)值1轉(zhuǎn)換成字符串‘1’炒瘟,在進行屬性名來使用吹埠;

數(shù)組的序號范圍0-2 32 -2超過這個范圍數(shù)組的長度會為穩(wěn)定在固定的數(shù)值不會發(fā)生變化,

a[-1.23]為a數(shù)組添加一個‘-1.23’的屬性
a['1000']為a數(shù)組的第1001個元素
a[1.000]和a[1]一樣唧领;

字面量聲明數(shù)組與構造函數(shù)聲明數(shù)組的區(qū)別:
var a = [, , , ];
var a1 = new Array(3);
0 in a 返回true藻雌;
0 in a1 返回false;
其中字面量創(chuàng)建的數(shù)組有元素都是underfined斩个;
但是構造函數(shù)創(chuàng)建的數(shù)組胯杭,只是有l(wèi)ength為3其中沒有元素;

delete運算符會刪除元素但是不會影響元素的長度受啥;

數(shù)組的方法:
1.數(shù)組尾部的刪除和添加:
push尾部添加元素做个;返回添加后數(shù)組的長度
pop尾部刪除元素;返回被刪除的元素滚局;
2.ES2015的數(shù)組遍歷的方法forEach
arr.forEach(function(value,index){ 數(shù)組操作 })居暖;
3.join()將數(shù)組轉(zhuǎn)換成字符串規(guī)定特定的連字符,默認用逗號鏈接藤肢;返回字符串
4.reverse()將數(shù)組翻轉(zhuǎn)太闺;返回翻轉(zhuǎn)后的數(shù)組;改變原數(shù)組嘁圈;
5.sort()數(shù)組的元素排序省骂;
一般會傳遞進去一個function函數(shù);參數(shù)是a和b函數(shù)返回時:return a - b數(shù)組按照小到大排序最住,return b - a時數(shù)組按照大到小排序钞澳;一般這個方法可以給對象排序;
6.concat()的方法創(chuàng)建 并返回一個新數(shù)組涨缚;元素包含調(diào)用concat()的原始數(shù)組的元素和concat的每個參數(shù)轧粟,如果參數(shù)是數(shù)組,則會鏈接數(shù)組的元素脓魏,這個只支持以為數(shù)組的鏈接;如 :[1,2,3].concat([444],[5,[6]],[7]); return [1,2,3,444,5,[6],7];
7.slice和splice的方法:slice是返回數(shù)組的指定的片段或者子數(shù)組兰吟;參數(shù)分別為開始和結束位置;splice是在數(shù)組中插入和刪除元素的通用方法茂翔,第一個參數(shù)是指定插入和刪除的起始位置揽祥,第二個參數(shù)是指定從數(shù)組刪除的元素的個數(shù),省略參數(shù)就是從規(guī)定的位置刪除到數(shù)組結尾檩电,
8.pop和push的方法:push是在數(shù)組的尾部添加一個或多個元素拄丰,返回數(shù)組的長度府树;pop的方法是 刪除數(shù)組的最后一個元素,返回刪除的值料按;添加的方法可以傳遞多個參數(shù)
9.shift和unshift的方法奄侠,unshift在數(shù)組的頭部添加元素返回數(shù)組的長度,shift是刪除數(shù)組的第一個元素载矿,返回刪除的元素垄潮;添加的方法可以傳遞多個參數(shù);

ES5的數(shù)組的方法:
1.forEach(function(index, val, [ thisArr ]){ 操作函數(shù)});從頭到尾遍歷數(shù)組闷盔,為每個元素指定函數(shù)弯洗;forEach的方法是遍歷數(shù)組,在數(shù)組的所有的元素遍歷之前逢勾,是不會停止遍歷的牡整,如果要提前停止需要將forEach方法放在一個try-catch中,用來接收錯誤并拋出 溺拱;這里的fotEach方法只是單純的遍歷數(shù)組逃贝;
2.map()的方法:將調(diào)用數(shù)組的每個元素傳遞給指定的函數(shù),返回一個新的數(shù)組迫摔,他是該函數(shù)的返回值沐扳;arr.map(function( val是數(shù)組的元素 ){ return 返回數(shù)組的元素});該方法會保持原數(shù)組的特性,原數(shù)組稠密就返回稠密數(shù)組句占,原數(shù)組稀疏就會返回稀疏的數(shù)組沪摄;
3.filter()方法:用來篩選數(shù)組的元素,滿足條件的返回原數(shù)組的一個子集數(shù)組纱烘;回調(diào)函數(shù)記得加上return杨拐;只會返回稠密的數(shù)組;
4.every和some方法是對邏輯的判斷:every()方法是所有的數(shù)組元素都要滿足條件凹炸;some是判斷數(shù)組元素部分滿足條件;次函數(shù)的返回值是true和false昼弟;
5.reduce和reduceRight的方法:是用指定的函數(shù)將數(shù)組元素進行組合返回一個數(shù)據(jù)啤它;
6.indexOf和lastIndexOf的方法可以判斷元素的位置;
7.Array.isArray(變量):ES5新增的方法判斷是否數(shù)組舱痘;之前一直利用instanceof操作符來判斷变骡; 變量 instanceof Array判斷是否是數(shù)組;但是instanceof操作符只能用于簡單的情形芭逝;

類數(shù)組調(diào)用數(shù)組的方法:利用Function.call的方法塌碌;一般有的瀏覽器自己就封裝了函數(shù)的方法可以利用Array.prototype.join.call( 偽數(shù)組,‘jion的參數(shù)’);

字符串的方法可以通用數(shù)組的方法旬盯;

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末台妆,一起剝皮案震驚了整個濱河市翎猛,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌接剩,老刑警劉巖切厘,帶你破解...
    沈念sama閱讀 211,817評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異懊缺,居然都是意外死亡疫稿,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,329評論 3 385
  • 文/潘曉璐 我一進店門鹃两,熙熙樓的掌柜王于貴愁眉苦臉地迎上來遗座,“玉大人,你說我怎么就攤上這事俊扳⊥窘” “怎么了?”我有些...
    開封第一講書人閱讀 157,354評論 0 348
  • 文/不壞的土叔 我叫張陵拣度,是天一觀的道長碎绎。 經(jīng)常有香客問我,道長抗果,這世上最難降的妖魔是什么筋帖? 我笑而不...
    開封第一講書人閱讀 56,498評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮冤馏,結果婚禮上日麸,老公的妹妹穿的比我還像新娘。我一直安慰自己逮光,他們只是感情好代箭,可當我...
    茶點故事閱讀 65,600評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著涕刚,像睡著了一般嗡综。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上杜漠,一...
    開封第一講書人閱讀 49,829評論 1 290
  • 那天极景,我揣著相機與錄音,去河邊找鬼驾茴。 笑死盼樟,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的锈至。 我是一名探鬼主播晨缴,決...
    沈念sama閱讀 38,979評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼峡捡!你這毒婦竟也來了击碗?” 一聲冷哼從身側(cè)響起筑悴,我...
    開封第一講書人閱讀 37,722評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎延都,沒想到半個月后雷猪,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,189評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡晰房,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,519評論 2 327
  • 正文 我和宋清朗相戀三年求摇,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片殊者。...
    茶點故事閱讀 38,654評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡与境,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出猖吴,到底是詐尸還是另有隱情摔刁,我是刑警寧澤,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布海蔽,位于F島的核電站共屈,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏党窜。R本人自食惡果不足惜拗引,卻給世界環(huán)境...
    茶點故事閱讀 39,940評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望幌衣。 院中可真熱鬧矾削,春花似錦、人聲如沸豁护。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,762評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽楚里。三九已至断部,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間班缎,已是汗流浹背蝴光。 一陣腳步聲響...
    開封第一講書人閱讀 31,993評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留吝梅,地道東北人虱疏。 一個月前我還...
    沈念sama閱讀 46,382評論 2 360
  • 正文 我出身青樓惹骂,卻偏偏與公主長得像苏携,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子对粪,可洞房花燭夜當晚...
    茶點故事閱讀 43,543評論 2 349

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

  • 第5章 引用類型(返回首頁) 本章內(nèi)容 使用對象 創(chuàng)建并操作數(shù)組 理解基本的JavaScript類型 使用基本類型...
    大學一百閱讀 3,216評論 0 4
  • 暖先生,是那些衷心陪伴在女閨蜜身邊的好先生纱扭。你有牍帚,我有,哪個女孩子沒有呢乳蛾?今天暗赶,我要對我的暖先生說再見了。 那么多...
    LU小彩閱讀 481評論 8 4
  • 輕舟冷葉寒江肃叶,疏藤古木檀香蹂随, 長風細雨微浪。翠湖庭畔因惭, 白草黃絮秋殤岳锁。
    劉海峰閱讀 335評論 0 1
  • 類加載器 對類加載器的學習重點要掌握以下幾點: 雙親委派模型的概念 雙親委派模型的實現(xiàn)原理 類加載器的工作原理 如...
    Danielvip閱讀 480評論 0 1