<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        Js數組的操作push,pop,shift,unshift等方法詳細介紹_javascript技巧

        來源:懂視網 責編:小采 時間:2020-11-27 21:06:26
        文檔

        Js數組的操作push,pop,shift,unshift等方法詳細介紹_javascript技巧

        Js數組的操作push,pop,shift,unshift等方法詳細介紹_javascript技巧:js中針對數組操作的方法還是比較多的,今天突然想到來總結一下,也算是溫故而知新吧。不過不會針對每個方法進行講解,我只是選擇其中的一些來講。 首先來講一下push和pop方法,這兩個方法只會對數組從尾部進行壓入或彈出,而且是在原數組進行操作,任何的改動
        推薦度:
        導讀Js數組的操作push,pop,shift,unshift等方法詳細介紹_javascript技巧:js中針對數組操作的方法還是比較多的,今天突然想到來總結一下,也算是溫故而知新吧。不過不會針對每個方法進行講解,我只是選擇其中的一些來講。 首先來講一下push和pop方法,這兩個方法只會對數組從尾部進行壓入或彈出,而且是在原數組進行操作,任何的改動

        js中針對數組操作的方法還是比較多的,今天突然想到來總結一下,也算是溫故而知新吧。不過不會針對每個方法進行講解,我只是選擇其中的一些來講。

        首先來講一下push和pop方法,這兩個方法只會對數組從尾部進行壓入或彈出,而且是在原數組進行操作,任何的改動都是會影響到操作的數組。push(args)可以每次壓入多個元素,并返回更新后的數組長度。pop()函數每次只會彈出最后一個結尾的元素,并返回彈出的元素,如果是對空組數調用pop()則返回undefined。 如果參數是數組則是將整個數組當做一個元素壓入到原來的數組當中。并不會產生類似concat合并數組時產生的“拆分現象”,下面看例子

        例1:
        var oldArr=[1,2,3];
        alert(oldArr.push(4,[5,6]))–>5(這里只會將[5,6]當做一個元素來計算,返回更新后的數組長度5)
        此時oldArr–>[1,2,3,4,[5,6]]
        alert(oldArr.pop())–>[5,6](這里彈出最后一個元素[5,6],而不是6)
        此時oldArr–>[1,2,3,4]
        oldArr.pop()–>4
        oldArr.pop()–>3
        oldArr.pop()–>2
        oldArr.pop()–>1
        oldArr.pop()–>undefined(空數組彈出)
        現在講完push和pop再來看一下unshift和shift
        這兩個方法都是通過對數組的頭部進行的操作,其他基本跟push和pop類似,但是在IE中unshift方法返回的是undefined

        例2:
        var oldArr2=[1,2];
        oldArr2.unshift(3)–>undefined
        此時oldArr2為–>[3,1,2]
        oldArr2.shift()–>3
        此時oldArr2為[1,2]
        接下來看一下功能強大一點的splice,利用其可以進行數組隨意位置的元素添加,刪除 ,其操作也是在原有

        數組上修改
        splice(start,deleteCnt,args) 中的start表示開始操作下標,deleteCnt表示從開始下標開始(包括該元素)要刪除的元素個數,刪除操作返回刪除的元素。args表示用來替換刪除掉的那些元素(可以有多個參數),start和deleteCnt必須為數字,如果不是數字嘗試轉換,轉換失敗當做0來處理。splice必須至少有一個start元素,否則不做任何操作。deleteCnt不存在表示刪除start及后面的全部元素(IE下,取0不做刪除)。start可以為負數,表示從數組右邊結尾處開始計算。deleteCnt如果為負數不做刪除,因為不可能刪除負個元素。
        好了解釋就到這邊現在看一下例子,通過例子或許可以更好的理解

        例3:
        var oldArr3=[1,2];
        oldArr3.splice()–>”"(返回空的字符串,不做任何操作,操作后oldArr3–>[1,2])
        oldArr3.splice(“”)–>[1,2](“”嘗試轉換為數字失敗返回0,所以刪除1,2,操作后oldArr3–>[],但是IE下有點惡心,不做任何操作)
        oldArr3.splice(“1a”)–>同上
        odlArr3.splice(0,2)–>[1,2](“從下標0的元素開始,刪除兩個元素1,2因此刪除后oldArr3–>[])
        oldArr3.splice(0,-1)–>”"(從0下標開始刪除-1個元素,故等于沒做任何操作,操作后oldArr3–>[1,2])
        oldArr3.splice(1,1)–>2(從下標1 開始刪除1個元素,即刪除2,所以刪除后oldArr3–>[1])
        oldArr3.splice(1,4)–>2(從下標1 開始刪除4個元素,1開始只有1個元素,故刪除2,所以刪除后oldArr3–>[1])
        oldArr3.splice(-1,0,3)–>”"(從下標-1即2元素開始刪除0個元素,然后添加元素3,所以操作后oldArr3–>[1,3,2])
        oldArr3.splice(-1,1,3)–>2(從小標-1即2元素開始刪除1個元素,然后添加元素3,操作后為oldArr3–>[1,3])
        OK接下來開始講concat,這個方法用來連接兩個或多個數組,該數組不會改變原來的數組只會返回新的一個數組。連接的時候參數如果為數組,則連接的是數組中的元素。因為比較簡單直接開始例子

        例4:
        var oldArr4=[1,2];
        oldArr4.concat(3,4)–>[1,2,3,4]
        oldArr4.concat(3,4,[5,6])–>[1,2,3,4,5,6](這邊添加的是[5,6]中的元素5和元素6)
        oldArr4.concat(3,[4,[5,6]])–>[1,2,3,4,[5,6]](這邊最里層的元素[5,6]整個用來添加,而不是拆開)
        下面來講數組中的排序方法sort
        sort(function)是針對原數組進行的排序,不會生成新的數組。默認sort()不帶參數時按照數組中的元素轉換成字符串進行比較,比較的時候按照字符在字符編碼中的順序進行排序,每個字符都有一個唯一的編碼與其對應。

        且看下面例子
        var oldArr5=[3,1,5,7,17] 看這個一般觀念上以為對oldArr5排序時oldArr5.sort()會按照數字從小到大排序即返回[1,3,5,7,17],但是看一下結果其實不然返回的是[1,17,3,5,7] 因為比較的時候都被轉成字符串。然后對字符串進行一個個的比較如果第一個字符相同則比較第二個,否則直接返回比較結果,因為”17″<”3″所以可想而知排序的結果就不是一般印象中的那個結果了。

        sort(function)方法除了默認的無參外還可以傳入自定義的排序方法,這樣排序的結果完全可以由自己來控制了,想怎么排就怎么排,是不是很爽啊,呵呵。 一般自定義的function比較函數,包含兩個參數分別代表用來比較的左元素和右元素。然后通過一定方式返回一個結果,如果返回值大于0表示交換左右元素,如果返回值小于0或等于0則表示不不會交換左右元素。現在來看一下例子

        例5:
        按照數字從大到小排列原有數組
        代碼如下:
        var oldArr5=[3,1,5,7,17]; //初始數組
        function mySort(left,right){
        if(leftreturn 1;}//如果左邊元素小于右邊元素則交換兩數
        else{
        return -1;}//如果左邊元素大于等于右邊元素不做交換
        }

        當然上面的方法可以簡化為funaction mySort(left,right){ return right-left;}
        代碼如下:
        //按照偶數在前奇數在后排序
        var oldArr6=[3,6,7,18];//初始數組
        function mySort2(left,right){
        if(left%2==0)return -1;//如果左邊元素為偶數則不交換
        if(right%2==0)return 1; //如果右邊元素為偶數則交換
        return 0; //不交換
        }

        最后的slice不多講,只是用來截取原數組中的部分元素,返回一個新的數組,原數組不會改變,其操作方式跟string的slice類似
        代碼如下:
        var oldArr7=[1,2,3,4];
        oldArr7.slice(0)–>[1,2,3,4]
        oldArr7.slice(0,2)–>[1,2]
        oldArr7.slice(0,0)–>[]
        oldArr7.slice(0,-1)–>[1,2,3]
        oldArr7.slice(-3,-1)–>[2,3]
        oldArr4.slice(-1,-3)–[]

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        Js數組的操作push,pop,shift,unshift等方法詳細介紹_javascript技巧

        Js數組的操作push,pop,shift,unshift等方法詳細介紹_javascript技巧:js中針對數組操作的方法還是比較多的,今天突然想到來總結一下,也算是溫故而知新吧。不過不會針對每個方法進行講解,我只是選擇其中的一些來講。 首先來講一下push和pop方法,這兩個方法只會對數組從尾部進行壓入或彈出,而且是在原數組進行操作,任何的改動
        推薦度:
        標簽: 方法 pop 的方法
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲国产美女在线观看| 亚洲人成网77777色在线播放| 亚洲日韩中文字幕| 91老湿机福利免费体验| 亚洲伦另类中文字幕| 亚洲视频在线观看免费| 亚洲第一精品电影网| 在线看片v免费观看视频777| 亚洲理论片在线观看| 日本黄网站动漫视频免费| 三级毛片在线免费观看| 亚洲国产精品日韩专区AV| 国产黄色片免费看| 亚洲日韩精品无码专区网址| 久久亚洲免费视频| 久久亚洲私人国产精品| 69成人免费视频| 亚洲爆乳AAA无码专区| 十八禁视频在线观看免费无码无遮挡骂过 | 久久精品免费观看国产| 久久亚洲美女精品国产精品| 在线观看免费人成视频| 美女视频黄a视频全免费网站一区| 亚洲AV无码专区日韩| a级毛片免费高清毛片视频| 亚洲国产成人久久精品动漫| 丁香花免费完整高清观看| 免费的黄色的网站| 日韩精品视频免费在线观看| 羞羞漫画页面免费入口欢迎你| 亚洲人成人无码网www电影首页| 亚洲精品视频在线免费| 国产精品亚洲专一区二区三区| 亚洲乱码精品久久久久..| 最近中文字幕免费2019| 亚洲美国产亚洲AV| 久久夜色精品国产嚕嚕亚洲av| 成年免费大片黄在线观看岛国| 在线播放国产不卡免费视频| 亚洲一区二区三区日本久久九| 国产一级高清免费观看|