国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答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
主站蜘蛛池模板: 亚洲欧美日韩中文字幕一区二区三区 | 无遮挡黄色 | 精品日韩一区二区三区视频 | 亚洲精品制服丝袜二区 | 中文字幕日韩有码 | 欧美一级专区免费大片 | 国产在线一区二区 | 国产成人精品日本亚洲语音2 | 亚洲图片国产日韩欧美 | 久久久久成人精品一区二区 | 中文字幕亚洲天堂 | 国产欧美精品区一区二区三区 | 亚洲欧美精品在线 | 91原创在线 | 精品视频一区二区三区四区五区 | 99久久精品国产综合一区 | 自拍自偷| 欧美v亚洲v国产v | 在线播放真实国产乱子伦 | 成人免费一级毛片在线播放视频 | 国产成人青青热久免费精品 | 国产正在播放 | 欧美 日韩 中文 | 国产成人精品.一二区 | 亚洲午夜久久久久久91 | 国产每日更新 | 国内精品一区二区2021在线 | 91精品日本久久久久久牛牛 | 阿v精品一区二区三区 | 欧美亚洲国产精品第一页 | 在线观看亚洲欧美 | 日本久久香蕉一本一道 | 香蕉久久夜色精品国产小说 | 夜色毛片永久免费 | 国产成人精品三区 | 国产欧美日韩视频 | 在线观看国产 | 免费在线一级毛片 | 真实的国产乱xxxx在线 | 国产精品综合色区在线观看 | 91中文字幕在线视频 |