昨天出去前端面試又失敗,期間問了個(gè)有關(guān)于數(shù)組對(duì)象的問題,下面就這類問題總結(jié)下JavaScript常用的數(shù)組操作方法。
一、何為數(shù)組(Array)對(duì)象
數(shù)組對(duì)象是使用單獨(dú)的變量名來存儲(chǔ)一系列的值。
二、創(chuàng)建數(shù)組的三種方式
2.1使用關(guān)鍵詞 new 來創(chuàng)建數(shù)組對(duì)象。
let myStar =new Array(); myStar[0]="劉德華"; myStar[1]="成龍"; myStar[2]="林青霞"; myStar[3]="王菲"; console.log(myStar);
2.2 基于2.1的簡潔寫法
let myStar1=new Array("劉德華","成龍","林青霞","王菲"); console.log(myStar1[2]);//訪問數(shù)組,Arry[索引值]
2.3對(duì)象字面量創(chuàng)建數(shù)組對(duì)象
let myStar2=["劉德華","成龍","林青霞","王菲"];console.log(myStar2);
注:數(shù)組中數(shù)值可以是不同類型組成,它們可以是string類型,Boolean類型,number類型、空數(shù)組,甚至是函數(shù)對(duì)象。
三、數(shù)組對(duì)象的基本方法
3.1 concat()
concat() 方法用于連接兩個(gè)或多個(gè)數(shù)組。該方法不會(huì)改變現(xiàn)有的數(shù)組,僅會(huì)返回被連接數(shù)組的一個(gè)結(jié)果。
var arry1=[1,2,3]; var arry2=[1]; var arry3=["Hi",true]; var arry4=arry1.concat(arry2,arry3); console.log(arry4);//[1, 2, 3, 1, "Hi", true]
3.2 join ()
join() 方法用于把數(shù)組中的所有元素放入一個(gè)字符串。元素是通過指定的分隔符進(jìn)行分隔的,默認(rèn)使用','號(hào)分割,
var arr=[1,6,8]; console.log(arr.join('/'));// 1/6/8 console.log(arr.join('-'));// 1-6-8
3.3 push()
push() 方法可向數(shù)組的末尾添加一個(gè)或多個(gè)元素,并返回新的長度。末尾添加,返回的是長度,會(huì)改變?cè)瓟?shù)組。
var a =[9,8,5]; var b=a.push(2,1,1); console.log(a);//[9, 8, 5, 2, 1, 1] console.log(b); //6
3.4pop()
pop() 方法用于刪除并返回?cái)?shù)組的最后一個(gè)元素。返回最后一個(gè)元素,會(huì)改變?cè)瓟?shù)組。
var c=[2,9,5]; console.log(c.pop());//5 console.log(c);//[2, 9]
3.5 shift()
shift() 方法用于把數(shù)組的第一個(gè)元素從其中刪除,并返回第一個(gè)元素的值。返回第一個(gè)元素,改變?cè)瓟?shù)組。
var arr2=[4,5,6]; console.log(arr2.shift());//4 console.log(arr2);//[5, 6]
3.6 unshift()
unshift() 方法可向數(shù)組的開頭添加一個(gè)或更多元素,并返回新的長度。返回新長度,改變?cè)瓟?shù)組。
var arr3=[4,6,8,9]; console.log(arr3.unshift(1,2));//6 console.log(arr3);// [1, 2, 4, 6, 8, 9]
3.7 slice()
返回一個(gè)新的數(shù)組,包含從 start 到 end (不包括該元素)的 arrayObject 中的元素。
返回選定的元素,該方法不會(huì)修改原數(shù)組。
var arr4=[3,3,4,6] console.log(arr4.slice(0,3));//[3, 3, 4] console.log(arr4);//[3,3,4,6]
3.8 splice()
splice() 方法向/從數(shù)組中添加/刪除項(xiàng)目,然后返回被刪除的項(xiàng)目。會(huì)改變?cè)紨?shù)組。
格式: splice(從哪開始(index),刪除的個(gè)數(shù),添加一個(gè)或多個(gè)元素)
var aa = [5,6,7,8];console.log(aa.splice(1,0,9)); //[]console.log(aa); // [5, 9, 6, 7, 8]var bb = [5,6,7,8];console.log(bb.splice(1,2,3)); //[6, 7]console.log(bb); //[5, 3, 8]
3.9 substring() 和 substr()
var str = '123456789'; console.log("123456789".substr(2,5)); // "34567" console.log("123456789".substring(2,5)) ;// "345"
區(qū)別:;兩個(gè)參數(shù)
substr(從哪開始,選取個(gè)數(shù));
substring( 從哪開始,到哪結(jié)束);
3.10 sort()排序
var fruit = ['cherries', 'apples', 'bananas',1,2,10];console.log(fruit.sort())// [1, 10, 2, "apples", "bananas", "cherries"]
3.11 reverse()
var arr = [2,3,4];console.log(arr.reverse()); //[4, 3, 2]console.log(arr); //[4, 3, 2]
3.12toLocaleString();toString()
toLocaleString()把數(shù)組轉(zhuǎn)換為本地字符串。
toString() 方法可把數(shù)組轉(zhuǎn)換為字符串,并返回結(jié)果。
var myStar3=["劉德華","成龍","林青霞","王菲"];var myStar4=["劉德華","成龍","林青霞","王菲"];console.log(myStar3.toLocaleString());//劉德華,成龍,林青霞,王菲console.log(myStar4.toString());//劉德華,成龍,林青霞,王菲
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持武林網(wǎng)。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注