一涝桅、如何創(chuàng)建一個(gè)數(shù)組拜姿?
創(chuàng)建數(shù)組的方法常見(jiàn)的有三種:
第一種:
1 var arr = new Array(3);
2 arr[0] = "hello";
3 arr[1] = "world";
4 arr[2] = 2017;
第二種:
1 var arr2 = new Array("hello","world","2017");
第三種:
1 var arr3 = ["hello","world",2017]
二、數(shù)組的一些操作方法
1.數(shù)組的length屬性:用來(lái)計(jì)算數(shù)組的長(zhǎng)度冯遂,也就是數(shù)組元素的個(gè)數(shù)
1 var arr = [1,2,3,4,5];
2 console.log(arr.length); //結(jié)果是5
2.數(shù)組的push方法:用來(lái)向數(shù)組的尾部添加新的元素
1 var arr = [1,2,3,4,5];
2 arr.push(6,7,last);
3 console.log(arr) // 輸出結(jié)果為[1,2,3,4,5,6,7,last]
3.數(shù)組的unshift方法:用來(lái)向數(shù)組元素的前面添加元素
1 var arr = [1,2,3,4,5];
2 arr.unshift(0,-1,"before");
3 console.log(arr); // 結(jié)果為 [0,-1,before,1,2,3,4,5]
4.數(shù)組的pop方法:用來(lái)刪除數(shù)組里面的最后一個(gè)元素
1 var arr = [1,2,3,4,5];
2 arr.pop();
3 console.log(arr); // 結(jié)果為 [1,2,3,4]
5.數(shù)組的shift方法:用來(lái)刪除數(shù)組里面的第一個(gè)元素
1 var arr = [1,2,3,4,5];
2 arr.shift();
3 console.log(arr); // 結(jié)果為 [2,3,4,5]
6.數(shù)組的splice方法:用來(lái)對(duì)數(shù)組元素進(jìn)行切割蕊肥,并且可以增刪改的操作
1 var nameArr = ["洋洋","芳芳","圓圓","小明"];
2 //當(dāng)splice只有一個(gè)參數(shù)n的時(shí)候 splice(n),只保留數(shù)組的前n個(gè)元素,后面的刪除
3 nameArr.splice(3);
4 console.log(nameArr); // 結(jié)果為 ["洋洋","芳芳","圓圓"]
5
6 //當(dāng)splice有兩個(gè)參數(shù)的時(shí)候 splice(n,m),第一個(gè)參數(shù)n代表刪除的起始位置,第二個(gè)參數(shù)m代表刪除的個(gè)數(shù),切記n代表的元素在數(shù)組中的位置蛤肌,并不是它在數(shù)組里面的下標(biāo)
7 nameArr.splice(1,2);
8 console.log(nameArr); // 結(jié)果為 ["洋洋","小明"]
9
10 //當(dāng)splice有多個(gè)參數(shù)的時(shí)候splice(n,m,k),第一個(gè)參數(shù)n代表參數(shù)的起始位置壁却,第二個(gè)參數(shù)m代表刪除的個(gè)數(shù),其中第三個(gè)參數(shù)k代表裸准,第三個(gè)及以上元素插入到我們刪除的位置
11 nameArr.splice(2,2,99,999);
12 console.log(nameArr); // 結(jié)果為 ["洋洋","芳芳",99,999]
6.數(shù)組元素的排序方法:sort(從小到大)展东、reverse(從大到小)
1. var numArr = [12,1,2,22,123,38];
// 從小到達(dá)排序
2. numArr.sort(function(a,b){return a- b;});
3. console.log(numArr); // 結(jié)果是 [1,2,12,22,38,123]
// 從大到小排序
4. numArr.sort(function(a,b){return b-a;});
5. console.log(numArr); // 結(jié)果是 [123,38,22,12,2,1]
7.數(shù)組的join方法:將數(shù)組轉(zhuǎn)化為字符串
1 var arr2 = ["Mike","Mary","Julia","Tom"];
2 var str = arr.join(",");//join括號(hào)中的符號(hào)代表用什么符號(hào)來(lái)分割字符串炒俱,默認(rèn)為逗號(hào)
3 console.log(str); // 結(jié)果為 Mike,Mary,Julia,Tom
4 //切記:jion() 方式并不是在原數(shù)組進(jìn)行操作盐肃,而是返回了一個(gè)新的;
8.數(shù)組的slice方法:同樣是數(shù)組的切分方法向胡,但是它不作用在原數(shù)組恼蓬,而是產(chǎn)生了一個(gè)新的數(shù)組
1 var arr = ["Mike","Mary","Julia","Tom"];
2 // 當(dāng)slice中只有一個(gè)參數(shù)時(shí),且參數(shù)為正數(shù)時(shí)僵芹,將參數(shù)及其以后全部 截却τ病;參數(shù)值為數(shù)組的下標(biāo)
3 var newArr = arr.slice(2);
4 console.log(newArr);// 結(jié)果為:["Julia","Tom"];
5 //當(dāng)slice中的唯一一個(gè)參數(shù)是負(fù)數(shù)的時(shí)候拇派,代表從數(shù)組的尾部開(kāi)始算 起荷辕,保留后面幾位元素
6 var newArr = arr.slice(-3);
7 console.log(newArr);//結(jié)果為:["Mary","Julia","Tom"];
8 //當(dāng)slice中有兩個(gè)參數(shù)的時(shí)候,代表的是刪除的起始位置和結(jié)束位置,但是返回的數(shù)組中沒(méi)有結(jié)束位置的元素
9 var newArr = arr.slice(1,2);
10 console.log(newArr);// 結(jié)果為:["Mary"];