数组和函数

167 阅读3分钟

1-认识数组

01-定义
 数组有以下两种定义方法:
    var arr = [];
    var arr = new Array();
02-内容
 在数组中可以存储:数值,字符串,布尔值。
  var arr = [1, 2, "你好,世界", true];
03-规则
 数据之间一定要用逗号分割, 数组索引号是从0开始的!!!
 var arr[ 1, 2, 3, 4,]
 console.log( arr[0]) // 1
 console.log( arr[1]) // 2
 console.log( arr[2]) // 3
 console.log( arr[3]) // 4
 console.log( arr[4]) // undefined 当没有第四个时显示的是undefined

2-遍历数组

     var arr = ["1", "2", "3"];
    console.log(arr.length)
    for(var i = 0; i < arr.length; i++) {
        console.log(arr[i])
    }
 例1:
  算出数组的相加值和平均数
   var sum = 0;
    var average = 0;
    var arr = [1, 2, 10, 56, 47];
    for(var i = 0; i < arr.length; i++) {
        sum += arr[i]
    }
    average = sum / arr.length;
    console.log(sum)
    console.log(average)
 例2:
  求出数组中的最大值!!!
  先将max值为arr[0] 2.拿到arr[1] 和max做比较,如果max大,max不需要修改,如果arr[1]大。max = arr[1]
   var arr = [10, 100, 98, 1024, 8];
    var max = arr[0]
    for(var i = 1; i < arr.length; i++) {
        if(arr[i] > max) {
            max = arr[i]
        }
    }
    console.log("该数组中最大的值为", max)
  例3:
   var arr = ["red", "green", "blue", "yellow"];
    var str = ''
    for(var i = 0; i < arr.length; i++) {
        str += arr[i] + "-"
    }
    console.log(str)

3-数组元素改变

01-添加
   var arr = ["red", "green", "blue"]
    console.log(arr.length)
    arr[3] = "pink"
    arr[0] = "红色"
    console.log(arr.length)
    console.log(arr)
 例1:
 var arr =[]
    for(var i = 1 ; i <=10 ; i++){
        arr[i]=i
    }
    console.log( arr)
02-筛选
  把数组中大于等于10的数组元素全部选出来,并且放到新的数组中去
  var arr = [2, 0, 6, 1, 77, 0, 53, 25, 7, 0]
    var newArr = []
    for(var i = 0; i < arr.length; i++) {
        if(arr[i] >= 10) {
            newArr[newArr.length] = arr[i]
        }
    }
    console.log(newArr)
03-去重
   var arr = [2, 0, 6, 1, 77, 0, 52, 0, 25, 7]
    var newArr = []
    for(var i = 0; i < arr.length; i++) {
        if(arr[i] != 0) {
            newArr[newArr.length] = arr[i]
        }
    }
    newArr[newArr.length] = 0;
    console.log(newArr)
04-数组元素进行翻转
  var arr = [1, 2, 3, 4, 5, 6]
    var newArr = [];
    for(var i = arr.length - 1; i >= 0; i--) {
        newArr[newArr.length] = arr[i]
    }
    console.log(newArr)
05-冒泡算法
  把数从小到大重新排列
  var arr = [4, 1, 55, 11, 12, 50, 24]
    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;
            }
        }
    }
    console.log(arr)

2-函数

    函数是就是在它的内部定义一些代码,聚和一下代码。
   官方解释: 封装了一段可以被重复调用执行的代码块。通过代码块可以实现大量代码的重复使用!!!
01-声明函数与调用函数
    函数使用有两个步骤
     1.声明函数  2.调用函数(函数不能自己调用)
   结构:  function 函数名() {
         函数体
     }
    function : 函数
    
    匿名函数的声明
    第一种:var demo = function() {
         }
    第二种:使用new关键词进行声明函数
     var demo = new Function("")
  例:
 声明: function getSum(num1 ,num2) {
      return num1 + num2
  }
 调用: getSum(1 , 2)
 
  函数的名称和咱们之前定义的变量名是一样的,一定要有意义!!
函数的参数
  1.参数 add(参数1, 参数2)
  2.当函数声明时,参数称为形参,而且使用变量的形式!!!
    function add(num1, num2) {
        console.log(num1 + num2)
    }
    // 3.在函数的调用时,参数称为实参,可以使用变量或者字面量
    var a = 1;
    add(a, 1)
 例1:
 求两个数之间的 和 
    // 两个参数之间用逗号隔开!!!
     function add(num1, num2) {
        // return 返回的意思
        return num1 + num2;
    }
    console.log(add(1, 2))
 例2: function getMax(num1, num2) {
         if(num1 > num2) {
            return num1
        }else {
            return num2;
         }
     
    }
    console.log(getMax(10, 100))
    console.log(getMax(100, 200))
    
    
      “ return num1>num2?num1:num2” 等同于 上方 if语句
      
 例3:
      var arr = [5, 100, 290, 45, 1, 2]
    function getArrMax(myarr) {
        var max = myarr[0];
        for (var i = 1; i <= myarr.length; i++) {
            if (myarr[i] > max) {
                max = myarr[i]
            }
        }
        return max;
        // 这里的 11111不会打印。return会终止当前函数的执行,下面的代码不再执行!!!
        alert("11111")
    }
    // 调用时传递进去实参,
    console.log(getArrMax(arr))