一再来、數(shù)組創(chuàng)建/讀寫/長(zhǎng)度
【知識(shí)點(diǎn)】
1蒙兰、掌握如何創(chuàng)建數(shù)組
2、掌握數(shù)組元素的讀和寫
3芒篷、掌握數(shù)組的length屬性
1搜变、如何創(chuàng)建數(shù)組?
兩種方式:
方法一针炉、使用array構(gòu)造函數(shù)
【語法】:
new Array()
【案例】:創(chuàng)建一個(gè)保存顏色的數(shù)組
方式(1):
<script>
var colors=new Array(3);
console.log(colors);
</script>
方式(2)
<script>
var nums=new Array(1,3,6,9);
console.log(nums);
</script>
小括號(hào)()說明:
(1)預(yù)先知道數(shù)組要保存的項(xiàng)目數(shù)量
(2)向Array構(gòu)造函數(shù)中傳遞數(shù)組應(yīng)包含的項(xiàng)
方法二挠他、使用數(shù)組字面量表示法
由一對(duì)包含數(shù)組項(xiàng)的方括號(hào)[]表示,多個(gè)數(shù)組項(xiàng)之間以逗號(hào)隔開篡帕。
<script>
var cols=[6,"yellow",true,{email:"marry@sohu.com"}];
console.log(cols);
</script>
說明:數(shù)組中的每一個(gè)值對(duì)類型沒有限制殖侵。
2、數(shù)組元素的讀寫
讀取和設(shè)置值時(shí)镰烧,使用方括號(hào)[]并提供相應(yīng)索引
說明:索引是從0開始的正整數(shù)
3愉耙、數(shù)組長(zhǎng)度
【語法】:
array.length
【功能】:獲取數(shù)組array的長(zhǎng)度
【返回值】:number
說明:
(1).通過設(shè)置length可以從數(shù)組的末尾移除項(xiàng)或向數(shù)組中添加新項(xiàng)。
【案例】
說明(1)例子
<script>
var arr=["a","b","c","d"];
//console.log(arr.length);//4
arr.length=3;
console.log(arr[3])//為undefined拌滋。此方法雖可以刪除朴沿,但是不建議使用!
</script>
說明:
(2).當(dāng)把一個(gè)值放在超出當(dāng)前數(shù)組大小的位置上時(shí)败砂,數(shù)組就會(huì)重新計(jì)算其長(zhǎng)度值赌渣,長(zhǎng)度值等于最后一項(xiàng)的索引值加1。
說明(2)例子
<script>
var arr=["a","b","c","d"];
//console.log(arr.length);//4
arr[99]="z";
console.log(arr.length);//100
</script>
數(shù)組的遍歷
<script>
var arr=["a","b","c","d"];
//數(shù)組的遍歷
for(var i=0;i<arr.length;i++){
console.log(arr[i]);//a b c d
}
</script>
二昌犹、數(shù)組的棧方法
【知識(shí)點(diǎn)】
1坚芜、push()
2、unshift()
3斜姥、pop()
4鸿竖、shift()
1沧竟、push()
【語法】:
arrayObject.push(newele1,newele2,....,neweX)
【功能】:
把它的參數(shù)順序添加到arrayObject的尾部。
【返回值】:
把指定的值添加到數(shù)組后的新長(zhǎng)度缚忧。
2悟泵、unshift()
【語法】:
arrayObject.unshift(newele1,newele2,....,neweX)
【功能】:
把它的參數(shù)順序添加到arrayObject的開頭。
【返回值】:
把指定的值添加到數(shù)組后的新長(zhǎng)度闪水。
3糕非、pop()
【語法】:
arrayObjective.pop()
【功能】:
刪除arrayObject的最后一個(gè)元素。
【返回值】:
被刪除的那個(gè)元素
4球榆、shift()
【語法】:
arrayObject.shift()
【功能】:
刪除arrayObject的第一個(gè)元素朽肥。
【返回值】:
被刪除的那個(gè)元素
【案例】push/shift/unshift/pop案例:以下代碼運(yùn)行結(jié)果是?
【答案】:
[0,2,3,4,5]
三持钉、數(shù)組轉(zhuǎn)換/重排序
1衡招、掌握數(shù)組的轉(zhuǎn)換方法
2、掌握數(shù)組的重排序方法
join()
【語法】:
arrayObject.join(separator)
【功能】:
用于把數(shù)組中的所有元素放入一個(gè)字符串每强。
【返回值】:字符串蚁吝。
【案例】:
<script>
//join
var nums=[2,4,5];
var str=nums.join();//2,4,5類型為string,默認(rèn)是,隔開
var words=["border","left","color"];
var wordstr =words.join("-");
console.log(wordstr); //border-left-color
</script>
reverse()
【語法】:
stringObject.reverse()
【功能】:
用于顛倒數(shù)組中元素的順序舀射。
【返回值】:數(shù)組
【案例】:
<script>
//reverse
var nums=[2,4,5];
nums.reverse();
//reverse反轉(zhuǎn)數(shù)組,得到的是數(shù)組
console.log(nums);//[5,4,2]
var strs=["a","b","c","d"];
//返回dcba這個(gè)字符串
var newstr=strs.reverse().join("")
console.log(newstr);
</script>
sort()
【語法】:
arrayObject.sort(sortby)
【功能】:
用于對(duì)數(shù)組的元素進(jìn)行排序怀伦。
【返回值】:數(shù)組脆烟。
【案例】:
<script>
//sort
var arr=[9,23,15,88,12];
//降序排列 return 參數(shù)1<參數(shù)2
arr.sort(function(a,b){return a<b});
console.log(arr);//[88,23,15,12,9]
//升序 return 參數(shù)1>參數(shù)2
arr.sort(function(a,b){return a>b});
console.log(arr);//[9,12,15,23,88]
</script>
說明:
1.即使數(shù)組中的每一項(xiàng)都是數(shù)組,sort()方法比較的也是字符串房待。
2.sort()方法可以接收一個(gè)比較函數(shù)作為參數(shù)邢羔。
【綜合案例】:下列代碼運(yùn)行結(jié)果是?
【答案】:
1;2;3;4;5;6,string,[1,2,3,4,5,6]