2)棧: 一端封閉,只能從另一端進(jìn)出的數(shù)組
結(jié)尾出入棧:
? ? 入: arr.push(值);
? ? 出: var last=arr.pop();
? ? 優(yōu): 每次出入棧不影響其余元素的位置
開頭出入棧:
? ? 入: arr.unshift(值);
? ? 出: var first=arr.shift();
? ? 缺: 每次出入棧都會(huì)影響每個(gè)元素的位置
3)隊(duì)列: 只能從一端進(jìn)入,從另一端出
如何:
? ? 從結(jié)尾入隊(duì)列: arr.push(值)
? ? 從開頭出隊(duì)列: var first=arr.shift()
2.二維數(shù)組
創(chuàng)建:
1)先創(chuàng)建空數(shù)組,再添加子數(shù)組
var arr=[];
arr[0]=[2,2,4,0];
arr[1]=[0,2,2,0];
2)在創(chuàng)建數(shù)組同時(shí),初始化子數(shù)組
var arr=[
? ? [2,2,4,0],//0
? ? [0,2,2,0],//1
? ? ...
];
遍歷: 外層循環(huán)控制行,內(nèi)層循環(huán)控制列
for(var r=0;r<arr.length;r++){
? ? for(var c=0;c<arr[r].length;c++){
? ? ? ? arr[r][c]//當(dāng)前元素? ?
? ? }
}
3.去除數(shù)組中的重復(fù)項(xiàng)
var arr=[1,2,3,4,5,2,3,4];
for(var i=0,what=[arr[0]];i<arr.length;i++){
? ? for(var j=0;j<what.length;j++){
? ? ? ? if(arr[i]==what[j]){
? ? ? ? ? ? break;
? ? ? ? }
? ? }
? ? if(j===what.length){
? ? ? ? uarr[what.length]=arr[i];
? ? }
}
console.log(what);
4.求成績
求總分
var arr=[60,68,70,75,82,93,56];
for(var i=0,sum=0,height=arr[0];i<arr.length;i++){
? ? sum+=arr[i];
}
求最高分
? ? if(arr[i]>height){
? ? ? ? height=arr[i];
? ? }
求最低分
? ? if(arr[i]<height){
? ? ? ? ? ? height=arr[i];
? ? }
}
console.log(sum);
console.log(height);
5.求數(shù)組中的最大值
var arr=[1,2,3,4,5];
//遍歷數(shù)組,同時(shí)聲明變量sum并賦值為arr中的任何一個(gè)值
for(var i=0,sum=2;i<arr.length;i++){
? ? if(arr[i]>sum){
? ? ? ? sum=arr[i];
? ? }
}
console.log(sum);