国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

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

2024-05-06 14:20:13
字體:
來源:轉載
供稿:網友

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])

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 墨竹工卡县| 吴堡县| 津南区| 盐山县| 福泉市| 尚义县| 黄平县| 荔波县| 察哈| 临西县| 长岭县| 涿州市| 淄博市| 陇西县| 上饶县| 外汇| 嘉祥县| 泰来县| 郧西县| 镇安县| 普兰县| 新宾| 长沙县| 宿州市| 连山| 蚌埠市| 涞水县| 潼南县| 齐齐哈尔市| 罗田县| 绥棱县| 宁阳县| 西平县| 蒙山县| 红桥区| 舒兰市| 阿鲁科尔沁旗| 宣汉县| 宣城市| 鹿泉市| 晋宁县|