js上 十五、数组-1
十五、数组-1
#1.什么是数组
组:由多个成员构成的一个集体。
数组:数组是值的有序集合
值就是前面所讲过的这些数据(各种数据类型的都可以)
是数组中,每一个值(如100,’js’,true)都称之为一个元素。
每一个元素在数组中所处的位置,称之为索引。是数字来表示,从0开始。
数组的作用
可以存储多个数据;
便于数据的管理和操作;
#2. 创建数组
在js中,创建数组有两种方式:
ü 直接量(字面量)
ü new的方式
#直接量(字面量)
[]表示是数组,数组中的元素之间使用逗号隔开。
#new的方式
#关于new Array()的参数说明:
1)new Array();括号里面不传参,表示创建一个空数组
2)new Array();括号里传了一个数字参数;这个参数表示数组的长度,
3)new Array();括号里传一个非数字参数,这个参数表示数组项;
4)new Array():括号里面传多个参数时,这些参数都是数组项
#3. 数组的基本操作
#数组的类型:
JavaScript数组是对象的特殊形式
#数组的属性:length
**数组.length== ** ** ** 数组的长度
获取数组的长度
设置数组的长度
当设置长度为0时,可以清空数组
说明:
ü JavaScript数组是动态的,根据需要它们会增长或缩减
ü 数组元素的索引不一定要连续的,它们之间可以有空缺。
#数组的索引
获取数组的元素:
**语法格式:数组[下标] ** ;
**注意 ** :当获取的数组项,超出数组的下标范围内,(该位置上没有值时)返回undefined;
修改数组项
语法格式:数组[下标] = 值;
增加:
#遍历数组:
#4. 数组的方法:
#4.1. 数组的添加方法:
#4.1.1.向数组的末尾添加:push;
语法:arr.push(val1,val2,val3,...):
功能:向数组的末尾添加一个或多个值
返回值:push方法的返回值是新数组的长度;
说明:这个方法会改变原数组;
#4.1.2.向数组的头部添加:unshift
语法:arr.unshift(val1,val2.....)
功能:向数组的头部添加一个或多个值
返回值:unshift方法的返回值是新数组的长度;
说明:这个方法会改变原数组;
#4.2. 数组的删除方法:
#4.2.1. 删除最后一项:pop
返回值:
#4.2.2. 删除数组的第一项 shift;
语法:arr.shift();
功能:删除数组的第一项:
返回值:被删除的项;
说明:原数组被改变
#小结:
\1. 创建数组的两种方式
\2. 注意new Array()的参数问题
\3. 数组的length既可以获取也可以设置
\4. 数组的添加方法有 push() =>末尾 unshift()=>头部 返回值都是数组的长度
\5. 数组的删除方法有 pop()=>删最后一个 shift()=>删第一个 返回值都是被删项
#作业:
\5. 题目:var arrs = ["a","c",6,"e",5,3,"d"];将arrs中所有的数字乘以5,返回[30,25,15]
思路:1)创建一个新数组。
2)遍历原数组的每一项,判断是否是数字;
3)如果是数字,那么当前数组项*5;
4)添加到新数组中
\6. 题目:var nums = [18,6,9,23,88,5];写一个函数,将这个数组中所有的一位数前面补0,输出一个新数组,即最后返回[18,"06","09",23,88,"05"]
思路:1)定义一个函数:并接收一个数组;
2)定义一个空数组,放最后结果;
3)遍历数组,
4)判断数组的每一项是否小于10;
5)如果小于10;前面拼接一个‘0‘;拼接后,添加到新数组中
6)否则:直接添加到新数组中
7)将新数组返回
3.题目: 写一个函数bouncer(),实现将数组中的真值,添加到一个新数组中;
例如:
bouncer([7, "ate", "", false, 9]) 应该返回 [7, "ate", 9].
bouncer(["a", "b", "c"])应该返回 ["a", "b", "c"].
bouncer([false, null, 0, NaN, undefined, ""]) 应该返回 [].
bouncer([1, null, NaN, 2, undefined]) 应该返回 [1, 2].
思路:1)定义一个函数,接收一个数组作为参数;
2)创建一个空数组 ;结果
3)遍历数组,
4)判断每一项是否为真值
5)如果是真值,那么添加到新数组中
6)返回新数组
\4. 题目:用多种方式实现删除数组的最后一项内容
思路:利用数组的length属性
\5. 题目:封装一个函数,实现数组的push方法
分析:push:向指定数组的末尾添加一项或多项内容;
分析:/* 由push的功能得知:
这个函数的功能是项指定数组添加一项或多项内容;
因此,调用函数时,需要传入一个指定数组,传入要添加的内容;而要添加的内容个数不确定,因此形参不确定
所以当实参个数不定时,想到arguments;
第一个实参是指定的数组,后面的实参是要想数组添加的内容*/
思路:
1)将第一个实参赋值给变量arr(方便使用);
2)从第二个实参开始遍历;每遍历一个实参,将其赋给arr下标为arr.length的位置,实现在数组的末尾添加
3)循环结束将arr返回;
js上 十五、数组-1的更多相关文章
- js上 十六、数组-2
十六.数组-2 #4.3万能法:splice(): #4.3.1.删除功能 语法:arr.splice(index,num); //num表示删除的长度 功能:从下标index位置开始,删除n ...
- js上 十九、综合案例
十九.综合案例 题目一: 封装一个函数equal(a1,a2),传入两个一维数组,判断两个数组是否包含相同的元素,如果相等,函数的返回值为true, 不相等,函数的返回值为false 1)例:arr1 ...
- js上 十四、对象
十四.对象 #1.初识对象 什么是对象? 在js中,一切皆是对象. 对象,生活中可见和不可见的东西,在世界中,客观存在的都是一个对象. 桌子,笔记本,手机,人. 在日常生活中,我们是如何来描述这个对象 ...
- js上 十八、字符串
十八.字符串 #18.1.认识字符串 #什么是字符串 字符串可以是引号中的任意文本.字符串可以由双引号(")或单引号(')表示 ,如 'hello' , "中国" #为什 ...
- js上 十七、数组-3
十七.数组-3 #课堂案例 \1. 封装一个chunk(arr,size)的函数,把该数组arr按照指定的size分割成若干个数组块. 例如:chunk([1,2,3,4],2) 返回结果:[[1,2 ...
- js上 十二、函数初步-1
11-1.引入(认识函数) 引入: 说起函数,其实我们并不陌生,在初中数学中我们就接触过函数:例如我们所学的 y = 2X+1 ; 这是一个二元一次方程,也是我们数字中的函数: 当我们每次输入 ...
- js上 十、循环语句-1:
十.循环语句-1: 非常之重要. 作用:重复执行一段代码 ü while ü do...while ü for 它们的相同之处,都能够实现循环. 不同的地方,格式不一样,使用的场景略有不同. #10- ...
- m_Orchestrate learning system---三十五、php数据和js数据的解耦:php数据(php代码)不要放到js代码中
m_Orchestrate learning system---三十五.php数据和js数据的解耦:php数据(php代码)不要放到js代码中 一.总结 一句话总结:也就是以html为中介,用html ...
- Nodejs学习笔记(十五)--- Node.js + Koa2 构建网站简单示例
目录 前言 搭建项目及其它准备工作 创建数据库 创建Koa2项目 安装项目其它需要包 清除冗余文件并重新规划项目目录 配置文件 规划示例路由,并新建相关文件 实现数据访问和业务逻辑相关方法 编写mys ...
随机推荐
- POJ1390 Blocks (区间DP)
题目链接:POJ 1390.Blocks 题意: 有n个方块排成一列,每个方块有颜色即1到n的一个值,每次操作可以把一段相同颜色的方块拿走,长度为k,则获得的分数为 \(k\times k\),求可获 ...
- python应用(1):安装与使用
程序员的基本工作是写程序,而写程序要用到编程语言,编程语言可以分为编译型语言跟解释型语言. 编译型语言,就是在执行代码之前,先把源代码编译(加链接)成另一种形式的代码,比如目标代码,或字节码,这种代码 ...
- Java IDEA根据database以及脚本代码自动生成DO,DAO,SqlMapper文件(一)
根据数据库代码自动生成的插件挺多的,这里主要分享两种: 1.根据database以及脚本代码自动生成 2.根据mybatis-generator-core自动生成(下一章节进行分享,包含sqlserv ...
- Spring 对Apache Kafka的支持与集成
1. 引言 Apache Kafka 是一个分布式的.容错的流处理系统.在本文中,我们将介绍Spring对Apache Kafka的支持,以及原生Kafka Java客户端Api 所提供的抽象级别. ...
- 【Luogu U41492】树上数颜色——树上启发式合并(dsu on tree)
(这题在洛谷主站居然搜不到--还是在百度上偶然看到的) 题目描述 给一棵根为1的树,每次询问子树颜色种类数 输入输出格式 输入格式: 第一行一个整数n,表示树的结点数 接下来n-1行,每行一条边 接下 ...
- 《STM32CubeMX配置STM32H743XI工程》第一讲《初始化UART,重定义printf函数,点亮一个LED灯》
1.打开STM32CubeMX软件->新建一个工程(软件自行到ST官网下载安装) 2.输入对应的芯片型号(本次基于野火STM32H743XI Pro 开发板)点击Start Project生成项 ...
- mfc 双缓存
CRect rect; //获取显示区域大小(该值为据对坐标,使用时需转换) GetWindowRect(rect); rect.SetRect(0, 0, rect.Width(), rect.He ...
- Springboot结合Jpa的外键使用
当我们写项目的时候,总有些奇奇怪怪的理由,非让你连表查询,其实最好的就是什么都不连,数据库完全解耦 但我们还是要学习下Jpa怎么根据外键查询 (这里说下Jpa+springboot的感觉,刚开始就感觉 ...
- 03-Python里字符串的常用操作方法二
1.lstrip():删除左侧空白字符 实例: my_str = ' hello world and my and test and python ' # 原始字符串 print(my_str) # ...
- C++/Java小白解Leetcode题,发现了知识盲区……
一.初见LeetCode 大一时候学习C++,根据课程一直在PTA平台做题目,数据结构和算法的作业题目也是在PTA.后来发现牛客网学习资源也很丰富,孤陋寡闻,前几个月在知道LeetCode这个平台,跟 ...