1.栈和队列
2)栈: 一端封闭,只能从另一端进出的数组
结尾出入栈:
```js
入: arr.push(值);
出: var last=arr.pop();
优: 每次出入栈不影响其余元素的位置
```
开头出入栈:
```js
入: arr.unshift(值);
出: var first=arr.shift();
缺: 每次出入栈都会影响每个元素的位置
```
3)队列: 只能从一端进入,从另一端出
如何:
从结尾入队列: arr.push(值)
从开头出队列: var first=arr.shift()
2.二维数组
创建:
1)先创建空数组,再添加子数组
var arr=[];
arr[0]=[2,2,4,0];
arr[1]=[0,2,2,0];
2)在创建数组同时,初始化子数组
var arr=[
[2,2,4,0],//0
[0,2,2,0],//1
...
];
遍历: 外层循环控制行,内层循环控制列
for(var r=0;r<arr.length;r++){
for(var c=0;c<arr[r].length;c++){
arr[r][c]//当前元素
}
}
3.去除数组中的重复项
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.求数组中的最大值
var arr=[1,2,3,4,5];
//遍历数组,同时声明变量sum并赋值为arr中的任何一个值
for(var i=0,sum=2;i<arr.length;i++){
if(arr[i]>sum){
sum=arr[i];
}
}
console.log(sum);