一、数组练习(案例重点,必会)
(1)输出数组中的最大值
var arr=[2,4,1,3,5];
//遍历数组,同时要声明一个变量,变量不能大于数组中的值
for(var i=0,sum=3;i<arr.length;i++){
if(arr[i]>sum){//比较
//如果数组中的当前元素大于sum,就把数组中的当前元素赋值给sum
sum=arr[i];
}
}
console.log(sum);//输出最大值
(2)数组去重
var arr==[1,3,4,2,1,3,5,4];
//遍历数组arr,同时声明数组uarr并赋值为数组中的第一个元素
for(var i=0,uarr=[arr[0]];i<arr.length;i++){
//遍历数组arr
for(j=0;j<uarr.length;j++){
// 如果arr中的当前元素等于uarr中的当前元素,那就break;
if(arr[i])==uarr[j]{
break;
}
}
//如果uarr中的下标等于uarr的长度
// 就把arr中的当前元素追加到uarr中
if(j==uarr.length){
uarr[uarr.length]=arr[i];
}
}
console.log(uarr);
(3)输出一串成绩,求总分, 最高分, 最低分
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);
二、数组API
栈:只能从一端操作数组
队列:pop, unshift; shift, push;
(1) push 给数组末尾添加新元素
例:var arr=[1,2,3,4,5];
var str=arr.push['a'];
console.log(arr)//[1,2,3,4,5,'a']
(2) pop 删除数组中最后一个元素
例:var arr=[1,2,3,4,5];
var str=arr.pop( );
console.log(arr)//[1,2,3,4]
(3) unshift:在数组开头添加新元素
例: var arr=[1,2,3,4,5];
var str=arr.unshift('true');
console.log(arr);//["true",1,2,3,4,5]
(4)shift 在数组开头删除第一个元素
例:var arr=[1,2,3,4,5];
var str=arr.shift( );
console.log(arr);//[2,3,4,5]
三、二维数组
(1)定义:数组中的元素,又引用了另一个子数组
var arr=[
[1,2,3,4,5],
['a','b','c'],
[true,false]
]
(2)访问元素:arr[r][c]:访问arr中r位置的子数组中的c位置的元素
越界:r不能越界
遍历:外层循环控制行,内存循环控制列
for(var r=0;r<arr.length;r++){
for(var c=0;c<arr.length;c++){
arr[r][c];//当前元素
}
}