• JavaScript-数组、函数


    JS-数组和 函数
    一、数组
    1.1、概念:数组是 一组数据的集合,其中每个数据被称为 元素,在数组中 可以存放任意类型的元素,数组是 将一组数据存放在单一变量名下的优雅方式
    1.2、特点:
    数组的 创建方式
    • 利用new创建数组
      1. // 数组
      2.         // 1、利用new创建数组
      3.         var arr=new Array()//创建了一个空数组

    • 利用数字面量创建数组
    1.         // 2、利用字面量创建数组
    2.         var arr = [];//创建了一个空数组
    3.         var arr1 = [1, '字符串类型', true];
    4.         console.log(arr1);

    1.3、 获取数字中的元素
    1.3.1、数组的 索引
    索引(下标):用来访问数组元素的序号( 数组下标从0开始
    格式:数组名[索引号]        例如:arr[2];
            console.log(arr1[1]);
    小栗子:
    1.         var arr = [];//创建了一个空数组
    2.         var day = ['星期一', '星期二', '星期三','星期四','星期五','星期六','星期天',];
    3.         console.log(day[6]);

    1.4遍历数组:把数组的元素从头到尾访问一次
    小栗子:
    1.         var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
    2.         for (var i = 0; i < arr.length; i++) {
    3.             console.log(arr[i]);
    4.         }

    1.5统计数组长度(元素的个数):length
            console.log(arr.length);//动态监测数组长度
    小栗子:
    1.         var num = [2, 6, 1, 7, 4]//求数组的和以及平均值
    2.         var a = 0, averag = 0;
    3.         for (var i = 0; i < num.length; i++) {
    4.             a = a + num[i];
    5.         }
    6.         average = a / num.length;
    7.         console.log('总和为:' + a);
    8.         console.log('平均值为:' + average);

    又是一个小栗子:
    1.         // 找出最大值
    2.         var arr = [13, 45, 33, 312, 9, 45];
    3.         var max = arr[0];
    4.         for (var i = 0; i < arr.length; i++) {
    5.             if (arr[i] > max) {
    6.                 max = arr[i];
    7.             }
    8.         }
    9.         console.log('该数组里面的最大值为:' + max);

    1.6数组转换为字符串书输出
     
    1.        var arr = ['one', 'two', 'three', 'for'];
    2.         var str = '';
    3.         var sep = prompt('请输入分隔符');
    4.         for (var i = 0; i < arr.length; i++) {
    5.             str += arr[i] + sep;
    6.         }
    7.         console.log(str);

    注意:不要直接给数组变量赋值
    1.7删除指定数组
    1.         var arr = [1, 0, 4, 3, 7, 9];
    2.         var newarr = [];
    3.         for (var i = 0; i < arr.length; i++) {
    4.             if (arr[i] != 0) {
    5.                 newarr[newarr.length] = arr[i];
    6.             }
    7.         }
    8.         console.log(newarr);

    1.8翻转数组
    1.         //翻转数组
    2.         var arr = ['q', 'w', 'e', 'r', 't'];
    3.         var newarr = [];
    4.         for (var i = arr.length - 1; i >= 0; i--) {
    5.             newarr[newarr.length] = arr[i];
    6.         }
    7.         console.log(newarr);

    1.9冒泡排序
    1.         // 冒泡排序
    2.         var arr = [4, 5, 3, 9, 1];
    3.         for (var i = 0; i < arr.length - 1; i++)//外层管躺数
    4.         {
    5.             for (var j = 0; j < arr.length - 1 - i; j++)//里面的循环管每一趟的交换次数
    6.             {
    7.                 if (arr[j] > arr[j + 1])//内部交换
    8.                 {
    9.                     var temp = arr[j];
    10.                     arr[j] = arr[j + 1];
    11.                     arr[j + 1] = temp;
    12.                 }
    13.             }
    14.         }
    15.         console.log(arr);

    二、 函数
    2.1概念:封装了一段 可被重复调用执行的代码块
    function:声明函数的关键字
    声明函数:function 函数名 ()
    调用函数:函数名()
    1.         function getsum(num1, num2) {  // 定义函数
    2.             var sum = 0
    3.             for (var i = num1; i <= num2; i++) {
    4.                 sum += i;
    5.             }
    6.             console.log(sum);
    7.         }
    8.         getsum(1, 100); //调用函数

    小栗子:
    1.         // 求1~100之间的累加和
    2.         function Sum(num1, num2) {
    3.             var num = 0;
    4.             for (var i = num1; i <= num2; i++) {
    5.                 num += i;
    6.             }
    7.             console.log(num);
    8.         }
    9.         Sum(1, 100);

    2.2函数的参数:形参和实参
            function 函数名 (形参1,形参2){
            }
            函数名(实参1,实参2)
    注意:
    1.多个参数之间用逗号隔开
    2.形参可以看做是不用声明的变量
    2.3函数形参和实参数量不匹配问题
            function cook(num1, num2) {
                console.log(num1 + num2);
            }
            cook(1, 2, 3);
            //实参个数多于形参,会取到形参个数
            cook(1)
            // 实参个数少于形参,结果就是NaN
    2.4函数的返回值
            function return1(aru) {
                return 需要返回的结果;
            }
    小栗子:
    1.         // 函数的返回值
    2.         function return1() {
    3.             return 666;
    4.         }
    5.         console.log(return1());
    6. 又是小栗子:

    1.         function getarrmax(arr) {  //接收了一个数组
    2.             var max = arr[0];
    3.             for (var i = 1; i <= arr.length; i++)
    4.                 if (arr[i] > max) {
    5.                     max = arr[i];
    6.                 }
    7.             return max;
    8.         }
    9.         var a = getarrmax([4, 6, 8, 1, 77, 543, 2])
    10.         //实参是数组
    11.         console.log(a);

    注意:
    return之后的代码不会在执行了
    return只能返回一个值(返回最后一个值)
    如果想返回多个值可以用数组
    1.         function Sum1(num1, num2) {
    2.             return [num1 + num2, num1 - num2, num1 * num2, num1 / num2];
    3.         }
    4.         var re = Sum1(1, 2);
    5.         console.log(re);

    2.5arguments的使用
    当我们不确定有多少个参数传递的时候,可以用arguments来获取,在JavaScript中,arguments实际上它是当前函数的一个内置对象,所有函数都内置了一个arguments对象,arguments对象中存储了传递的所有实参。
            function fn() {
                console.log(arguments);
                //存储了所有传入的实参
            }
            fn(1, 2, 3)
            fn(1, 2, 3, 4, 5)
            //伪数组
            // 1.具有数组的length属性
            // 2.按照索引的方式进行存储的
            // 3.他没有真正数组的一些方法
     小栗子:
    1.        function getmax() {
    2.             var max = arguments[0];
    3.             for (var i = 1; i < arguments.length; i++)
    4.                 if (arguments[i] > max) {
    5.                     max = arguments;
    6.                 }
    7.             return max;
    8.         }
    9.         console.log(getmax(1, 2, 3));
    10.         console.log(getmax(1, 2, 3, 4, 5));
    11.         console.log(getmax(11, 22, 33, 44, 55));

    2.6、案例
    2.6.1
    1.         // 利用函数翻转任意数组
    2.         function re(arr) {
    3.             var newarr = [];
    4.             for (var i = arr.length - 1; i >= 0; i--) {
    5.                 newarr[newarr.length] = arr[i];
    6.             }
    7.             return newarr;
    8.         }
    9.         var arrr1 = re([1, 3, 5, 7, 9]);

            console.log(arrr1);
    2.6.2利用函数封装方式,对数组排序-冒泡排序
    1.         // 冒泡排序
    2.         function sort(arr) {
    3.             for (var i = 0; i < arr.length - 1; i++) {
    4.                 for (var j = 0; j < arr.length - 1 - i; j++) {
    5.                     if (arr[j] > arr[j + 1]) {
    6.                         var temp = arr[i];
    7.                         arr[i] = arr[i + 1];
    8.                         arr[i + 1] = temp;
    9.                     }
    10.                 }
    11.                 return arr;
    12.             }
    13.         }
    14.         var a = sort([1, 4, 7, 9])
    15.         console.log(a);

    2.6.3判断是否为闰年
            // 判断闰年
    1.         function flag(year) {
    2.             if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
    3.                 flag = ture;
    4.             }
    5.             else flag = false;
    6.             return flag;
    7.         }
    8.         var a = flag(300);
    9.         console.log(a);

    3、函数之间是可以互相调用的
    1.         function f1() {
    2.             console.log(1);
    3.             f2();
    4.         }
    5.         function f2() {
    6.             console.log(2);
    7.         }
    8. 用户输入年份,判断输出二月份的天数
    9.         //用户输入年份,判断输出二月份的天数
    10.         function backday() {
    11.             var year = prompt('请你输入年份');
    12.             if (flag(year)) {
    13.                 alert(year + '这一年是闰年二月份有29天');
    14.             }
    15.             else { alert(year + '这一年是平年二月份有28天'); }
    16.         }
    17.         function flag(year) {                // 判断闰年函数
    18.             if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
    19.                 flag = ture;
    20.             }
    21.             else flag = false;
    22.             return flag;
    23.         }

    4、函数有两种声明方式:
    1.自定义函数
    function 函数名(){
    };
    2.函数表达式
    var变量名=function(){
    };
    例如:var fun=function(){
    }
    不同:变量里面存的是值,函数表达式里边存的是函数
  • 相关阅读:
    【C++ STL】哈希 Hash(闭散列、开散列介绍及其实现)
    Unity打包基础(未完)
    【C++笔试强训】第八天
    R语言提取站点的nc文件时间序列数据
    关于Flask_自定义路由转换器的方法和使用
    八种button的hover效果
    Python异步爬虫(aiohttp版)
    【ARC116F】Deque Game 题解
    Okhttp 403 Forbidden
    C语言 字符函数汇总,模拟实现各字符函数(炒鸡详细)
  • 原文地址:https://blog.csdn.net/qq_68163788/article/details/126085091