第八章:JavaScript(第四话)

第一节:数组Array

前面的内容都是一些基本数据类型的相关操作,包括Number、String等,在JavaScript中,对于引用数据类型Array和Object的操作,也是至关重要的。
【Tips:】JavaScript数据类型的划分详情可点击此处到第二节内容

什么叫数组

数组即一系列数据的集合。每一项可以保存任何类型的数据,称为数组的元素,每个元素之间用 , 隔开
【数组的格式】 :[1,2,3]

数组创建方式

创建方式1:字面量(推荐)
var arr = [element1,element2,element3];
创建方式2:使用构造函数创建
var arr = new Array(element1,element2,element3,element4)

例:

<script type="text/javascript">
    //字面量
    var arr1 = [1,2,3];
    console.log(arr1);

    //使用构造函数创建
    var arr2 = new Array();   //创建一个空数组
    var arr3 = new Array('成龙',18 ,'最佳演员','香港');   //创建数组并同时写入数据
    console.log(arr2);
    console.log(arr3);
</script>

控制台结果:
在这里插入图片描述

数组的操作

数组访问与写入

数组可以用下标进行访问,从0开始。格式:arrName[index]
lengh —— 表示数组的长度

例:

<script type="text/javascript">
    var myarr = ['html5','css','javascript'];
    //通过下标访问
    myarr[0]; 
    myarr[2]; 
    console.log(myarr[0]);
    console.log(myarr[2]);

    //写入
    myarr[3] = 'Python';
    console.log(myarr);
            
    //数组的长度
    console.log(myarr.length);
</script>	

控制台结果:
在这里插入图片描述

数组的常用方法

push —— 往数组尾部添加一个或多个元素,返回数组新的长度
pop —— 删除数组最后一个元素,返回删除的元素
unshift —— 往数组开头添加一个或多个元素,返回数组新的长度
shift —— 删除数组第一个元素,返回删除的元素
splice(start,deleteNum,…items) —— 在数组中插入、删除、替换的通用方法
start:起始索引位置
deleteNum:要删除的数量
items:插入的元素(可以是多个)
slice(start[,end]) —— 返回数组的片段或子数组,从start开始到end(不包括end所对应的元素)
如果省略end参数,则截取到数组的最后一项
支持负数
sort —— 将数组中的元素排序,并返回排序后的数组
默认以字符串的排列方式(转换成ASCII码进行对比),对于数字要传函数。
reverse —— 将数组中的元素颠倒顺序,返回逆序后的数组
join(separator) —— 返回字符串值,其中包含了连接到一起的数组的所有元素
separator为分隔符,默认为逗号
indexOf(keyword) —— 返回keyword所在数组中的索引值,如果数组不存在keyword,则返回-1
forEach(fn) —— 遍历方法,for循环没有太大差别,比for循环方便
map(fn) —— 返回一个数量相等的数组,内容是什么取决于在fn中返回的值
【Tips】
以上方法都对数组中的每一项运行给定函数fn,,函数中有三个形参分别为
item:数组中的每一项,
index:遍历过程中对应的索引值,
array:对数组的引用

例:

<script type="text/javascript">
    
    var ElfValley = ['李大嘴'];

    //增加元素
    ElfValley.push('李四');        //往尾部增加元素
    console.log(ElfValley);

    ElfValley.unshift('张三');     //往头部增加元素
    console.log(ElfValley);

    //删除元素
    ElfValley.shift();            //从头部删除元素
    console.log(ElfValley);       

    ElfValley.pop();              //从尾部删除元素
    console.log(ElfValley); 

    //通用增加删除一体方法(从下标0开始添加,删除0个元素,添加3个元素)
    ElfValley.splice(0,0,'哈哈儿','屠娇娇','王五');
    console.log(ElfValley); 
    //从下标2开始添加,删除1个元素,添加2个元素)
    ElfValley.splice(2,1,'阴九幽','白开心');
    console.log(ElfValley); 

    //排序
    console.log(ElfValley.sort());      //正序排列
    console.log(ElfValley.reverse());   //逆序排列

    //截取
    console.log(ElfValley.slice(1,4));

    //连接
    team = ElfValley.join(',');
    console.log(team);
    console.log(typeof team);

    //查找元素
    console.log(ElfValley.indexOf('李大嘴'));  //找查‘李大嘴’的下标
    console.log(ElfValley.indexOf('小鱼儿'));  //找查‘小鱼儿’的下标
</script>

控制台结果:
在这里插入图片描述
例2: 数组的数字排序

<script type="text/javascript">
    var arr = [10,6,20,2,30,41,5,8,24];
    //写法1
    var rest = arr.sort(function(a,b){
        if(a>b){
            return 1;    //反回一个正数,1也行,10也行
        }else if(a<b){
            return -1    //反回一个负数,-1也行,-10也行
        }else{
            return 0;
        }
    })

    //写法2
    var rest2 = arr.sort(function(a,b){
        return a-b;
    })
</script>

数组的遍历与复制

数组的遍历

数组的遍历方式一般使用for循环
【格式】
for(变量初始化;判断条件;变量更新){执行语句}

例:

<script type="text/javascript">
    var myarr = ['html5','css','javascript','Python','C++'];
    //遍历数组
    for(var i=0;i<myarr.length;i++){
        console.log(myarr[i]);
    }
</script>

控制台结果:
在这里插入图片描述

数组的复制

所谓复制,即产生一个一模一样的数组,数组之间相互独立存在,对其中一个数组改变,不会影响另一个数组。
值类型可以直接赋值来复制,引用数据类型不能直接赋值复制

例:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>引用数据类型与值类形的复制</title>
    </head>
    <body> 
    <script type="text/javascript">
        var arr = [10,15,2,32];        //引用数据类型
        //对引用数据类型进行赋值复制
        var newArr = arr;
        arr.push(3);
        console.log(arr,newArr);       //arr与newArr进行对比

        var name = 'java'              //值类型
        //对值类型数据进行赋值复制
        var newName = name;
        name += 'script';
        console.log(name,newName);     //name与newName进行对比
    </script>
    </body>
</html>

控制台结果:
在这里插入图片描述

复制方式1(空数组遍历添加法)
<script type="text/javascript">
    var arr = [10,15,2,32];       //引用数据类型
    //对引用数据类型进行遍历复制
    var newArr = [];
    for(var i=0;i<arr.length;i++){
       newArr.push(arr[i]);
    }
</script>
复制方式2(slice()截取法)
<script type="text/javascript">
    var arr = [10,15,2,32];      //引用数据类型
    //对引用数据类型进行复制
    var newArr = arr.slice(0);
</script>

第二节:对象Object

对象的创建

【创建】
创建方式1、字面量(推荐)
var obj = {key1:value1,key2:value2}
创建方式2:构造函数
var obj = new Object()

例:

<script type="text/javascript">
    // 字面量
    var hero1 = {name:'张三疯',age:120,words:'动作还是慢的好!'};

    // 构造函数
    var hero2 = new Object();
    hero2.name = 'MR.达摩';
    hero2.age = 150
    hero2.words = '还有谁?'

    console.log(hero1);
    console.log(hero2);
</script>

控制台结果:
在这里插入图片描述

对象属性的读取、添加与删除

【读取属性】
obj.key
如果读取一个不存在的属性,会返回 undefined
【添加属性】
obj.newKey = newValueobj['newKey'] = newValue
【删除属性】
delete obj.key

例:

<script type="text/javascript">
    var hero1 = {name:'张三疯',age:120,words:'动作还是慢的好!'};
    // 对象属性的读取
    console.log(hero1.name);
    console.log(hero1.words);
    //对象属性的添加
    hero1.add = 'wuDang'
    console.log(hero1);
    // 对象属性的删除
    delete hero1.age
    console.log(hero1);
</script>

控制台结果:
在这里插入图片描述

对象的遍历

对象的遍历方式一般也使用for循环
【格式】
for(var key in obj){}
document.write(element) —— 把元素写到页面

例:

<script type="text/javascript">
    var hero1 = {name:'张三疯',age:120,words:'动作还是慢的好!'};
    // 对象的遍历
    for(var i in hero1){
        document.write(hero1[i]);  //页面显示
        console.log(hero1[i]);     //控制台打印
    }
</script>

控制台结果:
在这里插入图片描述

数组与对象的组合

【格式】
在这里插入图片描述

例:

<script type="text/javascript">
    //数组与对象的组合[{...},{...},{...}]
    var heros = [{
        name:'张三疯',
        age:120,
        words:'动作还是慢的好!'
    },{
        name:'MR.达摩',
        age:150,
        words:'我已是神'
    },{
        name:'扫地僧',
        age:80,
        words:'我只是个扫地的'
    }]

    mapHeros = heros.map(function(item,idx,arr){
        console.log(idx);    //idx是对应索引值
        console.log(item);   //item是数组元素
        console.log(arr);    //arr是heros引用
        return '我是'+idx+'号'+item.name   //map有返回值,想返回什么都可以
                                          //配合标签等还可创建页面列表数据
    })
    console.log(mapHeros);  //打印map后的返回值(是个数组)
</script>

控制台结果:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ava实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),可运行高分资源 Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现
C语言是一种广泛使用的编程语言,它具有高效、灵活、可移植性强等特点,被广泛应用于操作系统、嵌入式系统、数据库、编译器等领域的开发。C语言的基本语法包括变量、数据类型、运算符、控制结构(如if语句、循环语句等)、函数、指针等。下面详细介绍C语言的基本概念和语法。 1. 变量和数据类型 在C语言中,变量用于存储数据,数据类型用于定义变量的类型和范围。C语言支持多种数据类型,包括基本数据类型(如int、float、char等)和复合数据类型(如结构体、联合等)。 2. 运算符 C语言中常用的运算符包括算术运算符(如+、、、/等)、关系运算符(如==、!=、、=、<、<=等)、逻辑运算符(如&&、||、!等)。此外,还有位运算符(如&、|、^等)和指针运算符(如、等)。 3. 控制结构 C语言中常用的控制结构包括if语句、循环语句(如for、while等)和switch语句。通过这些控制结构,可以实现程序的分支、循环和多路选择等功能。 4. 函数 函数是C语言中用于封装代码的单元,可以实现代码的复用和模块化。C语言中定义函数使用关键字“void”或返回值类型(如int、float等),并通过“{”和“}”括起来的代码块来实现函数的功能。 5. 指针 指针是C语言中用于存储变量地址的变量。通过指针,可以实现对内存的间接访问和修改。C语言中定义指针使用星号()符号,指向数组、字符串和结构体等数据结构时,还需要注意数组名和字符串常量的特殊性质。 6. 数组和字符串 数组是C语言中用于存储同类型数据的结构,可以通过索引访问和修改数组中的元素。字符串是C语言中用于存储文本数据的特殊类型,通常以字符串常量的形式出现,用双引号("...")括起来,末尾自动添加'\0'字符。 7. 结构体和联合 结构体和联合是C语言中用于存储不同类型数据的复合数据类型。结构体由多个成员组成,每个成员可以是不同的数据类型;联合由多个变量组成,它们共用同一块内存空间。通过结构体和联合,可以实现数据的封装和抽象。 8. 文件操作 C语言中通过文件操作函数(如fopen、fclose、fread、fwrite等)实现对文件的读写操作。文件操作函数通常返回文件指针,用于表示打开的文件。通过文件指针,可以进行文件的定位、读写等操作。 总之,C语言是一种功能强大、灵活高效的编程语言,广泛应用于各种领域。掌握C语言的基本语法和数据结构,可以为编程学习和实践打下坚实的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值