javaScript学习第4天(数组)
数组
基本概念
基本类型只能存储一个值。如果需要存储一组值怎么办。(用的多。)这个时候就需要使用数组了。
使用数组最大的好处是什么:可以进行批量操作。
数组:一组值,可以存储多个值(每个值可以存储任何数据类型的数据,但是一般情况下都是相同类型的数据),他是__有序的集合__
下标(索引、键、key),为了能够拿到对应位置的数据,所以需要给这个数组中的内容进行编号。
索引的值都是从0开始的。
元素:下标和值的组合。
类和对象的概念:
数组是对象类型(引用类型的一种)。javaScript中有对象,没有类。
- 类是什么:具有相同特征的事物的总称。
- 每个类中都有一些共同的特征,这些特征我们称为属性。
- 每个类中有一些共有的行为,我们叫方法。
- 对象:类的具体化。这种具体的我们叫他对象。
- 类和对象的关系:根据模具(类)创造出来的实体(对象)。当然对象也有属性和方法。
- 类是什么:具有相同特征的事物的总称。
数组创建
使用Array来创建
var colors = new Array();//创建了一个空数组。 console.log(typeof colors);
new是操作符表示调用后面的内容,可以__暂时__(实际上javaScript中没有类)将后面的内容看成是刚才所说的类。
我们可以向里面传递一组值。
var colors = new Array('red', 'blue', 'green'); console.log(colors);
在Array()中如果只有一个元素并且这个元素是数值的时候要注意。根据浏览器的不同得到的结果不同(现在咱们浏览器是得到了有100个元素的数组,但是每个元素中都是空
undefined
。有些浏览器会只创建一个元素这个元素对应的值是100
)。var colors = new Array(100); console.log(colors);
声明数组时省略new操作符,与new Array这种结果相同。
使用字面量方法(使用的最多)
数组字面量由一对包含数组项的方括号组成,多个元素之间使用逗号隔开。
这种方式定义的与
new Array()
这种结果相同。
数组元素的个数
数组中元素的个数保存在数组的length
属性中。这个属性的值大于等于0。
var colors = ['red', 'green', 'blue'];
console.log(colors);
console.log(colors.length);//3
数组的最后一项的索引始终是length-1
数组的基本操作
查看元素的值
数组[下标]
,在这首先要找的就是下标。读取时超过了最大的下标,那么值为undefiend。
中括号里面可以放置的是任何返回数值或数值型字符串的表达式。
如果要取得数组中的最后一个值
arr[arr.length - 1]
增加元素
在不同的位置增加。
在末尾增加。
设置下标时使用的是超过了数组的最大的下标。这个时候数组的长度变为(
设置后的下标+1
)var colors = ['red', 'blue', 'green', 'pink']; colors[4] = 'hotpink'; console.log(colors.length); console.log(colors);
我们更多是使用length属性向数组末尾添加数据。
var colors = ['red', 'blue', 'green', 'pink']; colors[colors.length] = 'white'; colors[colors.length] = 'black'; console.log(colors.length); console.log(colors);
在数组的开始处添加
//数组开头添加元素。//从4开始 , 我原数组中最大的下标是3.var colors = ['red', 'blue', 'green', 'pink'];for (var i = colors.length; i >= 0; i--) {colors[i] = colors[i - 1];}colors[0] = 'pink';console.log(colors);
* 在数组的指定位置处添加
//方法1//在下标为1的地方插入新数据var colors = ['red', 'blue', 'green', 'pink'];for (var i = colors.length; i >= 2; i--) {colors[i] = colors[i - 1];}colors[1] = 'gray';console.log(colors);
//方法2var colors = ['red', 'blue', 'green', 'pink'];for (var i = colors.length; i >= 0; i--) {if (i == 1) {break;//跳出本循环。}colors[i] = colors[i - 1];}colors[1] = 'gray';console.log(colors);
修改元素
删除元素
删除后面所有的
如果将length改为比原来的length小那么将会将后面的元素删除。
var colors = ['red', 'blue', 'green', 'yellow'];colors.length = 1;console.log(colors); */
* 删除末尾的
var colors = ['red', 'blue', 'green', 'yellow'];// colors.length = colors.length - 1;colors.length --;console.log(colors);
* 删除开头元素
var colors = ['red', 'blue'];for (var i = 1; i < colors.length; i++) {colors[i-1] = colors[i];//当前的前一个等于当前的。}colors.length --;console.log(colors);
* 删除指定位置的元素
//需求:删除数组中给定下标的元素。var colors = ['red', 'blue', 'green', 'yellow'];//假如删除下标为1的元素。for (var i = 2 ; i < colors.length ; i++) {colors[i - 1] = colors[i];}colors.length--;console.log(colors);
多维数组
多维数组:数组的每个元素都可以存储任意类型的数据,那么在元素中再储存数组。
如何区分是几维数组:
var arr = [[1,2],[3,4]
];
有几层中括号,就是几维数组。现在有2层次中括号那他就是二维数组。
数组一般最多就到三维,一维、二维用的最多。不管多少维都是一层一层的往里面找。
案例
- 冒泡排序(面试题)
原理:将数组中的值和每一个值进行比较,然后大的值往后放。
数组去重复(在新数组中去重,原数组不动)。
var arr = [1,2,3,4,3,4,3,2,1,5,6]; //最后的结果[1,2,3,4,5,6]
将下列数据遍历成一个表格:
var performeres = [
//编号,演员姓名,饰演角色,性格[1,'孙红雷','何辅堂','为人正直不阿,欺强怜弱,善于机变。'],[2,'巍子','魏正先','鹰视狼顾,心狠手黑。'],[3,'陈数','程立雪','气质如兰,观之可亲,思想卓荦,才华压众。'],[4,'郭珍霓','刘二泉','动不便,但若论手段心机,十个健全人也不是她的对手。'],[5,'陈祉希','朱彩灵','刀马旦出身,水般柔美,火样性格。含威不露,顾盼神飞。']
];
javaScript学习第4天(数组)相关推荐
- JavaScript学习(九十)—数组练习题(2)
JavaScript学习(九十)-数组练习题(2)
- JavaScript学习笔记:检测数组方法
很多时候我们需要对JavaScript中数据类型( Function . String . Number . Undefined . Boolean 和 Object )做判断.在JavaScript ...
- javascript学习系列(9):原数组发生变化的情况
最好的种树是十年前,其次是现在.歌谣 每天一个前端小知识 提醒你改好好学习了 知乎博主 csdn博主 b站博主 放弃很容易但是坚持一定很酷 我是歌谣 喜欢就一键三连咯 你得点赞是对歌谣最大的 ...
- JavaScript学习笔记——对象和数组(上)
/** 对象:其实就是一种类型,即引用类型.以下学习的是Object类型,Array类型,以及其方法.* 对象的值就是引用类型的一个实例.如:水果作为一个对象,香蕉就是水果对象中的一个实例.男生是一个 ...
- JavaScript学习杂记--对象和数组
一.对象 说起对象,我们不自然就想起了面向对象中自封装的一个类,同样JS中也是遵循这个守则,在web编程中几乎天天用到的就是JSON.是的,这就是一个对象,不过这个对象下面的字段都是字符串和值类型,如 ...
- JavaScript学习笔记之数组(二)
JavaScript学习笔记之数组(二) 1.['1','2','3'].map(parseInt) 输出什么,为什么? ['1','2','3'].map(parseInt)//[1,NaN,NaN ...
- JavaScript学习总结(八)——JavaScript数组
转载自 JavaScript学习总结(八)--JavaScript数组 JavaScript中的Array对象就是数组,首先是一个动态数组,无需预先制定大小,而且是一个像Java中数组.Array ...
- JavaScript学习笔记(六)--数组
数组初始化 我们都知道,数组是用于保存多个值的集合,在数组中,值被称为元素,值可以是任意的数据类型.在Javascript中,创建数组通常有两种方式:字面量和构造函数. 字面量 数组的元素可以是任意的 ...
- JavaScript学习(九十二)—关联数组的基本操作
JavaScript学习(九十二)-关联数组的基本操作 王同学的每天进步一点点系列!!! 一.关联数组的定义 定义:所谓关联数组,就是指数组元素的下标为字符型 二.关联数组的创建方式 1)定义一个空数 ...
- JavaScript学习(九十一)—二维数组的基本操作
JavaScript学习(九十一)-二维数组和多维数组总结 王同学的每天进步一点点系列!!! (一).二维数组的定义格式 var 数组名称=[[值1,值2,值3],[值1,值2,值3],[值1,值2, ...
最新文章
- java tooltips_一款使用纯javacript编写的轻量级tooltips工具
- codevs——1019 集合论与图论
- POJ1144:Network(无向连通图求割点)
- RollingFileAppender
- oracle的cols,Oracle cols_as_rows 比对数据
- ArrayList源码分析(基于JDK1.6)
- echart 实例显示位置_技术分享:如何在Unity中使用实例化渲染?
- MySQL数据库服务器 主从配置
- 指针使用c语言,指针的使用(C语言)
- 程序清单4.1_talkback.c程序_《C Primer Plus》P60
- 大哥你需求里说只要工作流引擎组件,怎么真正需要的东西这么.悲剧了,客户需求无止境...
- 同一台主机部署两个比特币钱包以及rpc服务的摘要
- Python+pandas使用分裂与分组统计频次
- NHibernate使用--环境搭建
- pg日期转周_PostgreSQL的时间/日期函数使用
- php解析定时任务格式,php 实现定时任务简单实现
- Docker hub配置国内加速器
- kali 安装volatility_volatility的使用
- 育儿-《养育男孩》书中的精髓:父母如何理解男孩的每个成长阶段,更好地培养男孩?
- 如何删除git暂存区的文件