成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

JavaScript基礎整理之數(shù)組(一)

dingda / 2061人閱讀

摘要:原文發(fā)布在數(shù)組應該是日常開發(fā)中最常見的數(shù)據(jù)結(jié)構(gòu)了,雖然常見,但是卻不一定能優(yōu)雅地處理好,中數(shù)組的處理方法很多,各個方法的參數(shù)返回值是否修改原數(shù)組等也容易記混。

原文發(fā)布在:http://blog.xiaofeixu.cn/2017...

數(shù)組應該是日常開發(fā)中最常見的數(shù)據(jù)結(jié)構(gòu)了,雖然常見,但是卻不一定能優(yōu)雅地處理好,JavaScript中數(shù)組的處理方法很多,各個方法的參數(shù)、返回值、是否修改原數(shù)組等也容易記混。這些方法雖然都比較簡單,但是初學的時候沒怎么重視,后來在實際的項目中卻發(fā)現(xiàn),能否靈活地運用這些方法對開發(fā)進度還是有很大的影響的,所以在此整理一下,溫故知新。

array.slice(a,b)

描述:slice 接受兩個參數(shù):開始和結(jié)束的索引值,返回原數(shù)組的從a到b的一部分(包含a,不包含b),原數(shù)組不發(fā)生改變

原數(shù)組:不變

返回:原數(shù)組的從a到b的一部分(包含a,不包含b)
可以將slice用于數(shù)組的淺復制

let arr = [1,2,3,4,5];
let arr2 = arr.slice(1,3);
let arr1 = arr.slice();
arr1.push([6])
let arr3 = arr1.slice();
arr3[arr3.length-1].push(7)
console.log(arr)  //[ 1, 2, 3, 4, 5 ]
console.log(arr1) //[ 1, 2, 3, 4, 5, [ 6, 7 ] ]
console.log(arr2) //[ 2, 3 ]
console.log(arr3) ////[ 1, 2, 3, 4, 5, [ 6, 7 ] ]
array.splice(a,b,item1,item2…)

描述:slice 接受三個參數(shù):開始的索引值、要刪除元素的個數(shù)、用于代替刪除元素的內(nèi)容,返回被刪除的元素構(gòu)成的數(shù)組,原數(shù)組

原數(shù)組:變

返回:被刪除元素構(gòu)成的數(shù)組

let arr = [1,2,3,4,5]
let arr3 = arr.splice(1,2,"m","n","p")
console.log(arr);//[ 1, "m", "n", "p", 4, 5 ]
console.log(arr3);//[ 2, 3 ]
array.concat()

描述:concat 接受一個或多個參數(shù),若參數(shù)為數(shù)組,則將該數(shù)組與原數(shù)組合并,若不為數(shù)組,則將該參數(shù)作為原數(shù)組的一個元素

原數(shù)組:不變

返回:合并后的新數(shù)組

let arr = [ 1, "m", "n", "p", 4, 5 ]
let arr4 = arr.concat("abcd",[100,[101]]);
console.log(arr)//[ 1, "m", "n", "p", 4, 5 ]
console.log(arr4);// [ 1, "m", "n", "p", 4, 5, "abcd", 100, [101] ]
array.join()

描述:join 接受一個參數(shù),作為返回的字符串的分隔符,

原數(shù)組:不變

返回:以參數(shù)為分隔符的字符串

let arr = [ 1, "m", "n", "p", 4, 5 ]
let str = arr.join("-")
console.log(arr)//[ 1, "m", "n", "p", 4, 5 ]
console.log(str)//1-m-n-p-4-5

array.reverse()

描述:無參數(shù),將原數(shù)組的元素前后顛倒

原數(shù)組:變,順序顛倒

返回:顛倒位置后的原數(shù)組

let arr = [ 1, "p", 4, 5, 4, 5 ]
let arr6 = arr.reverse()
console.log(arr) //[ 5, 4, 5, 4, "p", 1 ]
console.log(arr6) //[ 5, 4, 5, 4, "p", 1 ]

array.toString()

描述:無參數(shù),將原數(shù)組轉(zhuǎn)換成字符串,以 ‘,’ 分割。(不可指定分隔符,比array.join()的功能弱)

原數(shù)組:不變

返回:字符串

let arr = [ 5, 4, 5, 4, "p", 1 ]
let str1 = arr.toString()
console.log(arr)
console.log(str1)

array.push()/array.unshift()

描述:將參數(shù)作為數(shù)組的元素,置于數(shù)組的尾部/頭部

原數(shù)組:變

返回:新數(shù)組的長度

let arr = [ 1, "p", 4, 5, 4, 5, 6 ]
let l = arr.push(8)
console.log(l)// 8
console.log(arr)// [ 1, "p", 4, 5, 4, 5, 6, 8 ]
let l2 = arr.unshift(0)
console.log(l2) //1
console.log(arr) // [ 0, 1, "p", 4, 5, 4, 5, 6, 8 ]

array.pop()/array.shift()

描述:分別去除數(shù)組的最后一個/第一個元素

原數(shù)組:變

返回:被刪除的元素

let arr = [ 0, 1, "p", 4, 5, 4, 5, 6, 8 ]
let ele = arr.shift();
console.log(ele)//0
console.log(arr)//[ 1, "p", 4, 5, 4, 5, 6, 8 ]
let ele2 = arr.pop();
console.log(ele2)//8
console.log(arr)// [ 1, "p", 4, 5, 4, 5, 6 ]
array.copyWithin(target,start,end)——ES6新增

描述:接受三個參數(shù),target為目標位置的索引,start 為待復制數(shù)據(jù)的起始索引,默認為0,end為待復制數(shù)據(jù)的結(jié)束索引(不包含),默認等于數(shù)組長度(最后一位元素的索引+1)

原數(shù)組:變,但不更改原數(shù)組的長度

返回:改變后的數(shù)組

let arr = [ 1, "m", "n", "p", 4, 5 ]
let arr5 = arr.copyWithin(1,3,6)
console.log(arr) // [ 1, "p", 4, 5, 4, 5 ]
console.log(arr5) // [ 1, "p", 4, 5, 4, 5 ]

這只是數(shù)組的一部分,還有數(shù)組迭代、查詢、淺復制、深復制等很多方法沒有說,下次再說吧。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/89105.html

相關(guān)文章

  • 前端開發(fā)知識點整理

    摘要:前言本文主要是有關(guān)前端方面知識按照目前的認知進行的收集歸類概括和整理,涵蓋前端理論與前端實踐兩方面。 前言:本文主要是有關(guān)前端方面知識按照 XX 目前的認知進行的收集、歸類、概括和整理,涵蓋『前端理論』與『前端實踐』兩方面。本文會告訴你前端需要了解的知識大致有什么,看上去有很多,但具體你要學什么,還是要 follow your heart & follow your BOSS。 初衷...

    Blackjun 評論0 收藏0
  • 前端開發(fā)知識點整理

    摘要:前言本文主要是有關(guān)前端方面知識按照目前的認知進行的收集歸類概括和整理,涵蓋前端理論與前端實踐兩方面。 前言:本文主要是有關(guān)前端方面知識按照 XX 目前的認知進行的收集、歸類、概括和整理,涵蓋『前端理論』與『前端實踐』兩方面。本文會告訴你前端需要了解的知識大致有什么,看上去有很多,但具體你要學什么,還是要 follow your heart & follow your BOSS。 初衷...

    Sike 評論0 收藏0
  • 前端開發(fā)知識點整理

    摘要:前言本文主要是有關(guān)前端方面知識按照目前的認知進行的收集歸類概括和整理,涵蓋前端理論與前端實踐兩方面。 前言:本文主要是有關(guān)前端方面知識按照 XX 目前的認知進行的收集、歸類、概括和整理,涵蓋『前端理論』與『前端實踐』兩方面。本文會告訴你前端需要了解的知識大致有什么,看上去有很多,但具體你要學什么,還是要 follow your heart & follow your BOSS。 初衷...

    tracy 評論0 收藏0
  • SegmentFault 技術(shù)周刊 Vol.40 - 2018,來學習門新的編程語言吧!

    摘要:入門,第一個這是一門很新的語言,年前后正式公布,算起來是比較年輕的編程語言了,更重要的是它是面向程序員的函數(shù)式編程語言,它的代碼運行在之上。它通過編輯類工具,帶來了先進的編輯體驗,增強了語言服務。 showImg(https://segmentfault.com/img/bV1xdq?w=900&h=385); 新的一年不知不覺已經(jīng)到來了,總結(jié)過去的 2017,相信小伙們一定有很多收獲...

    caspar 評論0 收藏0
  • SegmentFault 技術(shù)周刊 Vol.40 - 2018,來學習門新的編程語言吧!

    摘要:入門,第一個這是一門很新的語言,年前后正式公布,算起來是比較年輕的編程語言了,更重要的是它是面向程序員的函數(shù)式編程語言,它的代碼運行在之上。它通過編輯類工具,帶來了先進的編輯體驗,增強了語言服務。 showImg(https://segmentfault.com/img/bV1xdq?w=900&h=385); 新的一年不知不覺已經(jīng)到來了,總結(jié)過去的 2017,相信小伙們一定有很多收獲...

    nihao 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<