數(shù)組的方法push、pop、unshift、shift、delete、splice

push、pop、unshift、shift這四個(gè)操作都改變了原來(lái)的數(shù)組,未創(chuàng)建新數(shù)組。

push:向數(shù)組的尾部追加元素,直接在原來(lái)的數(shù)組尾部添加,不會(huì)創(chuàng)建新數(shù)組。

var a= new Array();

var b = a.push('a');

console.log(a);// ['a']

console.log(b);// 1

pop:刪除并返回?cái)?shù)組的最后一個(gè)元素,數(shù)組長(zhǎng)度減 1,如果數(shù)組已經(jīng)為空,則 pop() 不改變數(shù)組,并返回 undefined。

var a = ['a','b','c'];

var b = a.pop();

console.log(a);// ['a','b']

console.log(b);// c

unshift:向數(shù)組的開(kāi)頭添加一個(gè)或者過(guò)個(gè)元素,并返回新的長(zhǎng)度,不會(huì)創(chuàng)建新數(shù)組,會(huì)直接修改原數(shù)組。

var a = ['a','b'];

var b = a.unshift('c');

console.log(a);// ['c','a','b']

console.log(b);// 3 返回的是修改后的數(shù)組長(zhǎng)度,并未生成新數(shù)組

shift:刪除第一個(gè)數(shù)組元素,并返回刪除的元素的值,如果數(shù)組是空的,不進(jìn)行任何操作,返回undefined,此方法不會(huì)創(chuàng)建新數(shù)組,修改原來(lái)的數(shù)組。

var a = ['a','b','c'];

var b = a.shift();

console.log(a);// ['b','c']

console.log(b);// a 返回的是刪除的數(shù)組元素

push和pop實(shí)現(xiàn)了類似棧(LIFO last-in-first-out)的行為,后進(jìn)先出。

splice:往數(shù)組中添加或者刪除,返回被刪除的元素,該方法會(huì)改變?cè)瓉?lái)的數(shù)組。

arr.splice(index,howmany,item1,.....,itemX)

index:必填,整數(shù),規(guī)定添加或刪除的元素位置,使用負(fù)數(shù)可以從數(shù)組結(jié)尾處規(guī)定位置。

howmany:必填,要?jiǎng)h除的元素?cái)?shù)量,如果是0,就不刪除,是添加元素。

item1,.....,itemX:可選,向數(shù)組添加的新元素。

// 向數(shù)組中添加元素

var a = ['a','b','c'];

var b = a.splice(1,0,'a1','a2');// 從下標(biāo)1開(kāi)始添加元素

console.log(a);//?["a", "a1", "a2", "b", "c"]?

console.log(b);// []

// 數(shù)組中刪除元素

var a = ['a','b','c'];

var b = a.splice(1,1);// 從下標(biāo)為1的地方,刪除1個(gè)元素,刪除下標(biāo)為1的元素

console.log(a);//??["a", "c"]

console.log(b);//?["b"]

// 數(shù)組中替換元素

var a = ['a','b','c'];

var b = a.splice(1,1,'d');// 替換下標(biāo)為1的數(shù)組元素

console.log(a);//?["a", "d", "c"]

console.log(b);//?["b"]?


delete:數(shù)組長(zhǎng)度不變

var a = ['a','b','c'];

delete a[1];

console.log(a);//?["a", empty, "c"]

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容