數(shù)組Array

JS數(shù)組Array

數(shù)組的創(chuàng)建方式(兩種)

使用new關(guān)鍵字+Array構(gòu)造函數(shù)創(chuàng)建數(shù)組(new操作符可以省略)。

var colors = new Array();
var colors = Array();

`

構(gòu)造函數(shù)傳遞該數(shù)量,而該數(shù)量會(huì)自動(dòng)成為length屬性的值迫摔。

var colors = new Array(20);  
console.log(colors.length);//創(chuàng)建了一個(gè)長度為20衰腌,內(nèi)容為空的數(shù)組    

數(shù)組字面量由一對包含數(shù)組項(xiàng)的方括號表示("[]"),多個(gè)數(shù)組項(xiàng)之間以逗號隔開誉裆。在讀取和設(shè)置數(shù)組的值時(shí),要使用方括號并提供相應(yīng)的基于0的數(shù)字索引(位置)滩报。

var colors = ["red","blue","green"]; //定義了一個(gè)長度為3的字符串?dāng)?shù)組
  console.log(colors.length);     //3 
  console.log(colors[0]);    //顯示第一項(xiàng) "red"
  colors[2] = "black";      //修改第三項(xiàng)
  colors[3] = "brown";     //新增第四項(xiàng)
  var colors = [];         //創(chuàng)建一個(gè)空數(shù)組
  console.log(colors.length);     //0

數(shù)組的length屬性
數(shù)組的length屬性的特點(diǎn):不是只讀的。也就是說通過設(shè)置這個(gè)屬性播急,可以從數(shù)組的末尾移除或向數(shù)組中添加新項(xiàng)

var colors = ["red","blue","green"]; //定義了一個(gè)長度為3的字符串?dāng)?shù)組
    colors.length = 2;        //設(shè)置數(shù)組長度為2
    console.log(colors[2]);   //undefined 
var colors = ["red","blue","green"]; //定義了一個(gè)長度為3的字符串?dāng)?shù)組
    colors[colors.length] = "black";     //(在位置3)添加一種顏色
    colors[colors.length] = "brown";     //(在位置4)添加一種顏色

`

檢測數(shù)組

1.使用instanceof操作符
var a = [1]
        console.log((a)instanceof Array)    //true
}
2.Array.isArray()方法
var a = [1]
console.log(Array.isArray(a))   //true
}        
屬性:打印出true(真) \ false(假)

`

轉(zhuǎn)換方法

所有對象都具有toLocaleString()脓钾、toString和valueof()方法。

1·toString()方法返回由數(shù)組中每個(gè)值的字符串形式拼接而成的一個(gè)以逗號分隔的字符串;

var arr = [21, 5, 67, 77, 33];
console.log(arr.toString());  //21,5, 67, 77, 33

2·valueOf()返回的還是數(shù)組;

var arr = [21, 5, 67, 77, 33];
console.log(arr.toString());   // [21, 5, 67, 77, 33]

3·toLocaleString()方法也經(jīng)常返回與toString和valueof()方法相同的值,

join(分隔符)數(shù)組轉(zhuǎn)字符串
var arr = [21,5,67,77,33];
console.log(arr.join(''));   //215677733

·

棧方法 (后進(jìn)先出)
push()

接收任意數(shù)量的參數(shù)桩警,把它們逐個(gè)添加到數(shù)組末尾可训,并返回修改后數(shù)組的長度。

var arr= [1,2,3,4,5,6,7,8]
        console.log(arr.push(1));   //   9    返回修改后的長度
        console.log(arr);   //   [1, 2, 3, 4, 5, 6, 7, 8, 1] 
pop

從數(shù)組的末尾移除最后一項(xiàng),減少數(shù)組的length值沉噩,然后返回被移除的項(xiàng)捺宗。

var arr= [1,2,3,4,5,6,7,8]
        console.log(arr.pop());     //  8   返回移除的值
        console.log(arr);   //   [1,2,3,4,5,6,7]  移除最后一項(xiàng)

·

隊(duì)列方法 (先進(jìn)先出)
unshift()方法

在數(shù)組的前端添加任意個(gè)項(xiàng)并返回新數(shù)組的長度

var arr= [1,2,3,4,5,6,7,8]    
        console.log(arr.unshift(2)); // 9  返回新數(shù)組的長度
        console.log(arr);   // [2,1,2,3,4,5,6,7,8]  
shift()方法:

從數(shù)組的前端移除第一項(xiàng)(也就是位置索引值為0),減少數(shù)組的length值川蒙,

var arr= [1,2,3,4,5,6,7,8]
        console.log(arr.shift());    //   1   把第一項(xiàng)移除
        console.log(arr);    //  [2,3,4,5,6,7,8]

·

重排序方法

reverse()方法: (反轉(zhuǎn)數(shù)組項(xiàng)的順序)
var arr= [1,2,3,4,5,6,7,8]
        console.log(arr.reverse());    //  [8, 7, 6, 5, 4, 3, 2, 1]
sort()方法: 排序

sort()方法可以接收一個(gè)比較函數(shù)最為參數(shù)蚜厉,以便指定哪個(gè)值位于前面。

var arr= [1,2,3,4,5,6,7,8]
    arr.sort(function(a,b){
       return b-a    //return a-b;  //升序   return b-a;  //降序
})
      console.log(arr)

reverse()和sort()方法的返回值都是經(jīng)過排序后的數(shù)組(改變原數(shù)組)畜眨。
·

操作方法

ECMAScript為操作已經(jīng)包含在數(shù)組中的元素提供了很多方法:

·concat()方法可以基于當(dāng)前數(shù)組創(chuàng)建一個(gè)新數(shù)組昼牛。
· slice()方法可以基于當(dāng)前數(shù)組獲取指定區(qū)域元素并創(chuàng)建一個(gè)新數(shù)組。
·splice()主要用途是向數(shù)組的中部插入元素康聂,使用方式有3種贰健。

concat() 方法

用于連接兩個(gè)或多個(gè)數(shù)組

var arr1 = [1, 2];
        var arr2 = [3, 4];
        var arr4 = [5, 6];
        var arr3 = arr1.concat(arr2,arr4);  //逗號隔開
        console.log(arr3)
slice()方法

可提取字符串或者數(shù)組的某個(gè)部分,并以新的字符串或數(shù)組返回被提取的部分恬汁。

var arr= [1,2,3,4,5,6,7,8]
        var brr= arr.slice(1)
        console.log(brr)  // [2, 3, 4, 5, 6, 7, 8]
        console.log(arr)  // [1, 2, 3, 4, 5, 6, 7, 8]
var arr= [1,2,3,4,5,6,7,8]
        var brr= arr.slice(1,4)
        console.log(brr)  //  [ 2, 3, 4]
        console.log(arr)  //   [1, 2, 3, 4, 5, 6, 7, 8]
splice()方法

用于插入伶椿、刪除或替換數(shù)組的元素

splice中的刪除功能:返回被刪除數(shù)組元素
var arr = [1, 2, 3, 4, 5, 6, 7, 8]
        console.log(arr.splice(3,2,1))    // [4, 5] (3)下標(biāo)  (2)移除個(gè)數(shù) (1)添加
        console.log(arr)     //   [1, 2, 3, 1, 6, 7, 8]

位置方法

首次出現(xiàn)位置

indexOf()

返回某個(gè)指定的字符串值或者某個(gè)數(shù)組元素值在字符串或者數(shù)組中首次出現(xiàn)的位置

var arr = [1, 2, 3, 4, 5, 6, 7, 8]
        console.log(arr.indexOf(3,1))    //    2
        console.log(arr)

lastIndexOf()

返回一個(gè)指定的字符串值最后出現(xiàn)的位置,在一個(gè)字符串中的指定位置從后向前搜索

var arr = [1, 2, 3, 4, 5, 6, 7, 8]
        console.log(arr.lastIndexOf(2,5))    //   1
        console.log(arr)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末氓侧,一起剝皮案震驚了整個(gè)濱河市脊另,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌约巷,老刑警劉巖偎痛,帶你破解...
    沈念sama閱讀 222,681評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異独郎,居然都是意外死亡踩麦,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,205評論 3 399
  • 文/潘曉璐 我一進(jìn)店門氓癌,熙熙樓的掌柜王于貴愁眉苦臉地迎上來谓谦,“玉大人,你說我怎么就攤上這事顽铸∽录疲” “怎么了?”我有些...
    開封第一講書人閱讀 169,421評論 0 362
  • 文/不壞的土叔 我叫張陵谓松,是天一觀的道長星压。 經(jīng)常有香客問我,道長鬼譬,這世上最難降的妖魔是什么娜膘? 我笑而不...
    開封第一講書人閱讀 60,114評論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮优质,結(jié)果婚禮上竣贪,老公的妹妹穿的比我還像新娘军洼。我一直安慰自己,他們只是感情好演怎,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,116評論 6 398
  • 文/花漫 我一把揭開白布匕争。 她就那樣靜靜地躺著,像睡著了一般爷耀。 火紅的嫁衣襯著肌膚如雪甘桑。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,713評論 1 312
  • 那天歹叮,我揣著相機(jī)與錄音跑杭,去河邊找鬼。 笑死咆耿,一個(gè)胖子當(dāng)著我的面吹牛德谅,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播萨螺,決...
    沈念sama閱讀 41,170評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼窄做,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了屑迂?” 一聲冷哼從身側(cè)響起浸策,我...
    開封第一講書人閱讀 40,116評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎惹盼,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體惫确,經(jīng)...
    沈念sama閱讀 46,651評論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡手报,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,714評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了改化。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片掩蛤。...
    茶點(diǎn)故事閱讀 40,865評論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖陈肛,靈堂內(nèi)的尸體忽然破棺而出揍鸟,到底是詐尸還是另有隱情,我是刑警寧澤句旱,帶...
    沈念sama閱讀 36,527評論 5 351
  • 正文 年R本政府宣布阳藻,位于F島的核電站,受9級特大地震影響谈撒,放射性物質(zhì)發(fā)生泄漏腥泥。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,211評論 3 336
  • 文/蒙蒙 一啃匿、第九天 我趴在偏房一處隱蔽的房頂上張望蛔外。 院中可真熱鬧蛆楞,春花似錦、人聲如沸夹厌。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,699評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽矛纹。三九已至帅戒,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間崖技,已是汗流浹背逻住。 一陣腳步聲響...
    開封第一講書人閱讀 33,814評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留迎献,地道東北人瞎访。 一個(gè)月前我還...
    沈念sama閱讀 49,299評論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像吁恍,于是被迫代替她去往敵國和親扒秸。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,870評論 2 361

推薦閱讀更多精彩內(nèi)容