目录
一.遍历数组
1.for循环遍历数组
遍历:把数组中的每个数访问一下
arr.length :数组长度,动态监测数组长度,数组数量发生变化时长度也发生变化
数组 :数组的索引号从0开始,数组的索引数比数组的长度少1
window.onload=function(){
var arr=['red','green','blank','jack'];
//for循环遍历数组
for(var i=0;i<arr.length;i++)
{
console.log(arr[i]);
}
}
2.遍历数组案例
1.求数组中元素的和
var arr1=[3,4,8,9,1];
var sum=0;
for (var i = 0;i < arr1.length;i++){
sum+=arr1[i];
}
console.log(sum);
2.求数组中的最大值
var arr2=[4,1,6,2,8];
var max=arr2[0]
for(var i = 1;i<arr2.length;i++){
if(max<arr2[i]){
max=arr2[i]
}
}
console.log(max)
}
3.数组转化为分割字符串
var arr3=['jack','mak','sdj'];
var str='';
for(var i=0;i<arr3.length;i++){
str+=arr3[i];
}
console.log(str)
}
二.数组新增元素
1.根据修改数组长度添加
数组索引:如果索引号没被占用则追加元素,如果占用则替换元素
var arr4=['dd','df','ik'];
arr4.length=5;
arr4[3]='ll';
arr4[4]='ss';
console.log(arr4);
2.案列-新建数组存放10个数
通过for循环来添加
var arr5=[];
for(var i = 0;i<10;i++){
arr5[i]=i+1;
}
console.log(arr5)
}
三.筛选数组
1.筛选出大于10的数
var arr6=[8,4,52,14,6,32,9,77];
var newarr=new Array();
for(var i =0;i<arr6.length;i++){
if(arr6[i]>10){
newarr[newarr.length]=arr6[i]
}
console.log("newarr:"+newarr)
四.数组案例
1.删除指定数组元素(数组去重)
去除0
var arr7=[1,4,5,8,0,9,3];
var newarr1=[];
for(var i =0;i<arr7.length;i++){
if(arr7[i]!=0){
newarr1[newarr1.length]=arr7[i];
}
}
console.log(newarr1);
2.翻转数组
var arri=['dd','ee','rr','tt'];
var newarr3=[];
for(var i = arri.length-1;i>=0;i--){
newarr3[newarr3.length]=arri[i]
}
console.log(newarr3);
}
3.冒泡排序
var arr=[10,8,4,2,1];
var temp='';
for(var i=0;i<=arr.length-1;i++){
for(var j =0;j<arr.length-i-1;j++){
if(arr[j]>arr[j+1]){
temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
console.log(arr)
五.函数
1.实参和形参个数一致正常输出,实参个数多余形参个数以形参个数为准,实参个数小于形参个数,则为受值得形参为undefind;
return后面的函数不执行,没有返回值,return返回undefind
break:结束当前循环体
contine:结束某次循环
function getSum(num1,num2){
console.log(num1+num2);
}
//1.如果是灿哥数和形参个数一致,则正常输出
getSum(1,20);
}
2.利用函数求两个数的最大值
function getMax(num1,num2){
if(num1>num2){
return num1
}else{
return num2
}
}
console.log(getMax(45,25));
3.利用函数求数组中的最大值
var arr=[12,45,10,66];
function getMax(arr){
var max=arr[0]
for(var i=1;i<arr.length;i++){
if(max<arr[i]){
max=arr[i]
}
}
return max;
}
console.log(getMax(arr));
六.arguments
1.函数的内置对象,储存专递的所有实参,不确定传递多少参数时使用(function function_name(){}默认)
2.伪数组:有数组的长度,按索引号存储,没有正真数组的pop() push()等方法
3.求任意个数的最大值
function getMax(){
var max=arguments[0];
for(var i = 1;i<arguments.length;i++){
if(max<arguments[i]){
max=arguments[i]
}
}
return max;
}
console.log(getMax(2,4,8,1,44));
八.函数案列
1.利用封装函数翻转任意一个数组
function reverse(arr){
var newArr=[];
for(var i=arr.length-1;i>=0;i--){
newArr[newArr.length]=arr[i];
}
return newArr;
}
var arr2=reverse(['ff','oo','dd']);
console.log(arr2);
2.利用函数封装冒泡排序
function sort(arr){
for(var i=0;i<arr.length-1;i++){
for(var j=0;j<arr.length-i-1;j++){
if(arr[j]>arr[j+1]){
var temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
return arr;
}
var arr2=sort([4,8,6,1,3]);
console.log(arr2)
3.利用函数封装判断是否为闰年
function isYear(year){
var flag=false;
if(year%4==0 && year % 100!=0||year%400==0){
flag=true;
}
return flag;
}
console.log(isYear(2000));
}
4.输入年份,输出当前年份的2月份是多少天
function isYear(year){
var flag=false;
if(year%4==0 && year % 100!=0||year%400==0){
flag=true;
}
return flag;
}
console.log(isYear(2000));
//输出当前年份的2月份是多少天
function backDay(year){
var year=prompt("输入年份");
if(isYear(year)){
alert('29天')
}else{
alert('28天')
}
}
backDay()