“好玩的”js數(shù)組操作

A:“啊啊啊啊,我怎么又不記得數(shù)組的使用方法了O⑿ā!”
B:"不就是那幾個(gè)操作數(shù)組的以及一些數(shù)組的遍歷方法而已嗎扒披?"
A: "可是,有的會(huì)改變?cè)瓟?shù)組值依,有的不會(huì)改變,而且有的遍歷方法需要return 有的不需要碟案。愿险。。价说。"
B:“ 我覺得辆亏,你沒有完全理解,理解了你就覺得輕而易舉鳖目,信手拈來了扮叨。”

數(shù)組中的基本操作

1 數(shù)組的操作 增刪查改
  • 隊(duì)列和棧進(jìn)出操作 push pop shift unshift
  • 拼接 concat join
  • 提取 slice
  • 作用多多的 splice
2 數(shù)組的遍歷方法
  • forEach 對(duì)數(shù)組進(jìn)行遍歷操作 (無(wú)返回值)
  • some every 判斷數(shù)組是否滿足條件(返回true或false)
  • map 對(duì)數(shù)組中的每一個(gè)元素進(jìn)行操作领迈,將操作后的值返回到一個(gè)新的數(shù)組(返回新數(shù)組)
  • filter 過濾數(shù)組中的元素彻磁,返回return值為true的元素?cái)?shù)組(返回滿足條件的數(shù)組)
??插播一句解釋:

關(guān)于數(shù)組的操作碍沐,有增刪查改的操作,以及提取操作衷蜓;把數(shù)組想象成一個(gè)鏈表累提,然后棧和隊(duì)列的操作,排序恍箭,插入刻恭,刪除這些都是直接對(duì)數(shù)組本身進(jìn)行操作的瞧省,所以會(huì)改變數(shù)組本身扯夭。而如果是提取數(shù)組中的某一些元素,就不會(huì)改變數(shù)組本身了鞍匾。

所以交洗,仔細(xì)想想,push pop shift unshift splice 中都涉及到數(shù)組自身的改變橡淑,所以會(huì)改變數(shù)組元素本身构拳。而concat join涉及到的是數(shù)組中的拼接,會(huì)形成一個(gè)新的元素梁棠,所以不會(huì)改變?cè)刈陨碇蒙?code>slice是提取數(shù)組元素中的部分元素,所以不會(huì)改變數(shù)組本身符糊。

push pop shift unshift

push pop 在數(shù)組尾部進(jìn)行操作凫海,push將元素從尾部插入,pop將最后一個(gè)數(shù)組元素提取男娄。
shift unshift 在數(shù)組頭部進(jìn)行操作行贪,shift 將頭部的元素刪除,unshift向頭部插入一個(gè)元素模闲。

// push的使用建瘫,返回新數(shù)組長(zhǎng)度
var test = [12,23,45,56]
var result = test.push(33)
console.log(test, result)
//[12, 23, 45, 56, 33] 5

// pop 的使用,返回被拋出的最后一個(gè)的數(shù)組的元素
var test = [12,23,45,56]
var result = test.pop(33)
console.log(test, result)
// [12, 23, 45] 56


// unshift的使用,向頭部插入新元素,返回?cái)?shù)組新長(zhǎng)度
var test = [12,23,45,56]
var result = test.unshift(90)
console.log(test, result)
// [90, 12, 23, 45, 56] 5

// shift的使用尸折,向頭部刪除元素啰脚,返回被刪除的元素
var test = [12,23,45,56]
var result = test.shift(90)
console.log(test, result)
// [23, 45, 56] 12

concat和join

concat的使用
  • array.concat(array1,array2,array3);
  • concat返回新的拼接數(shù)組
  • 當(dāng)沒有參數(shù)的時(shí)候,可以返回一個(gè)新的拷貝的數(shù)組实夹,淺拷貝數(shù)組拣播。
join的使用
  • arrar.join(拼接元素)
  • 返回新的字符串
// concat 的使用,不會(huì)改變?cè)?var test = [12,23,45,56]
var test2 = [88,90]
var result = test.concat(test2,test2)
console.log(result)
// [12, 23, 45, 56, 88, 90, 88, 90]


// concat用于淺拷貝
var test = [12,23,45,56]
var test2 = [88,90]
var result = test.concat()
result.push(33)
console.log(result) // [12, 23, 45, 56, 33]
console.log(test)   //  [12, 23, 45, 56]


// join 的使用
var test = [12,23,45,56]
var test2 = [88,90]
var result = test.join(',')
console.log(result)  //12,23,45,56

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末收擦,一起剝皮案震驚了整個(gè)濱河市贮配,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌塞赂,老刑警劉巖泪勒,帶你破解...
    沈念sama閱讀 206,126評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡圆存,警方通過查閱死者的電腦和手機(jī)叼旋,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來沦辙,“玉大人夫植,你說我怎么就攤上這事∮脱叮” “怎么了详民?”我有些...
    開封第一講書人閱讀 152,445評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)陌兑。 經(jīng)常有香客問我沈跨,道長(zhǎng),這世上最難降的妖魔是什么兔综? 我笑而不...
    開封第一講書人閱讀 55,185評(píng)論 1 278
  • 正文 為了忘掉前任饿凛,我火速辦了婚禮,結(jié)果婚禮上软驰,老公的妹妹穿的比我還像新娘涧窒。我一直安慰自己,他們只是感情好锭亏,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,178評(píng)論 5 371
  • 文/花漫 我一把揭開白布纠吴。 她就那樣靜靜地躺著,像睡著了一般贰镣。 火紅的嫁衣襯著肌膚如雪呜象。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 48,970評(píng)論 1 284
  • 那天碑隆,我揣著相機(jī)與錄音恭陡,去河邊找鬼。 笑死上煤,一個(gè)胖子當(dāng)著我的面吹牛休玩,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播劫狠,決...
    沈念sama閱讀 38,276評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼拴疤,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了独泞?” 一聲冷哼從身側(cè)響起呐矾,我...
    開封第一講書人閱讀 36,927評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎懦砂,沒想到半個(gè)月后蜒犯,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體组橄,經(jīng)...
    沈念sama閱讀 43,400評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,883評(píng)論 2 323
  • 正文 我和宋清朗相戀三年罚随,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了玉工。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 37,997評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡淘菩,死狀恐怖遵班,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情潮改,我是刑警寧澤狭郑,帶...
    沈念sama閱讀 33,646評(píng)論 4 322
  • 正文 年R本政府宣布,位于F島的核電站进陡,受9級(jí)特大地震影響愿阐,放射性物質(zhì)發(fā)生泄漏微服。R本人自食惡果不足惜趾疚,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,213評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望以蕴。 院中可真熱鬧糙麦,春花似錦、人聲如沸丛肮。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)宝与。三九已至焚廊,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間习劫,已是汗流浹背咆瘟。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評(píng)論 1 260
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留诽里,地道東北人袒餐。 一個(gè)月前我還...
    沈念sama閱讀 45,423評(píng)論 2 352
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像谤狡,于是被迫代替她去往敵國(guó)和親灸眼。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,722評(píng)論 2 345

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

  • js基礎(chǔ)篇(三)——DOM的各種操作js基礎(chǔ)篇(二)——字符串的各種操作 1. 創(chuàng)建數(shù)組 創(chuàng)建一個(gè)數(shù)組,有三種方法...
    hanyuntao閱讀 1,614評(píng)論 0 14
  • 由于最近都在freecodecamp上刷代碼豪诲,運(yùn)用了很多JavaScript數(shù)組的方法沃粗,因此做了一份關(guān)于JavaS...
    2bc5f46e925b閱讀 1,961評(píng)論 0 16
  • 上一篇JS字符串的操作中,介紹了split方法可以將字符串轉(zhuǎn)化為以某種形式分割的數(shù)組匕积,然后可以對(duì)其采用數(shù)組的操作方...
    大春春閱讀 5,222評(píng)論 1 5
  • (一) 數(shù)組的定義 數(shù)組(array)是按次序排列的一組值佛嬉。每個(gè)值的位置都有編號(hào)(從0開始),整個(gè)數(shù)組用方括號(hào)表示...
    woow_wu7閱讀 46,758評(píng)論 0 6
  • 第三章 類型闸天、值和變量 1暖呕、存取字符串、數(shù)字或布爾值的屬性時(shí)創(chuàng)建的臨時(shí)對(duì)象稱做包裝對(duì)象苞氮,它只是偶爾用來區(qū)分字符串值...
    坤少卡卡閱讀 626評(píng)論 0 1