数组

基本概念

基本类型只能存储一个值。如果需要存储一组值怎么办。(用的多。)这个时候就需要使用数组了。

使用数组最大的好处是什么:可以进行批量操作。

  • 数组:一组值,可以存储多个值(每个值可以存储任何数据类型的数据,但是一般情况下都是相同类型的数据),他是__有序的集合__

  • 下标(索引、键、key),为了能够拿到对应位置的数据,所以需要给这个数组中的内容进行编号。

    索引的值都是从0开始的。

  • 元素:下标和值的组合。

  • 类和对象的概念:

    数组是对象类型(引用类型的一种)。javaScript中有对象,没有类。

    • 类是什么:具有相同特征的事物的总称。

      • 每个类中都有一些共同的特征,这些特征我们称为属性。
      • 每个类中有一些共有的行为,我们叫方法。
    • 对象:类的具体化。这种具体的我们叫他对象。
    • 类和对象的关系:根据模具(类)创造出来的实体(对象)。当然对象也有属性和方法。

数组创建

  1. 使用Array来创建

    var colors = new Array();//创建了一个空数组。
    console.log(typeof colors);
    

    new是操作符表示调用后面的内容,可以__暂时__(实际上javaScript中没有类)将后面的内容看成是刚才所说的类。

    1. 我们可以向里面传递一组值。

      var colors = new Array('red', 'blue', 'green');
      console.log(colors);
      
    2. 在Array()中如果只有一个元素并且这个元素是数值的时候要注意。根据浏览器的不同得到的结果不同(现在咱们浏览器是得到了有100个元素的数组,但是每个元素中都是空undefined。有些浏览器会只创建一个元素这个元素对应的值是100)。

      var colors = new Array(100);
      console.log(colors);
      
    3. 声明数组时省略new操作符,与new Array这种结果相同。

  2. 使用字面量方法(使用的最多)

    数组字面量由一对包含数组项的方括号组成,多个元素之间使用逗号隔开。

    这种方式定义的与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层次中括号那他就是二维数组。

数组一般最多就到三维,一维、二维用的最多。不管多少维都是一层一层的往里面找。

案例

  1. 冒泡排序(面试题)

原理:将数组中的值和每一个值进行比较,然后大的值往后放。

  1. 数组去重复(在新数组中去重,原数组不动)。

    var arr = [1,2,3,4,3,4,3,2,1,5,6];
    //最后的结果[1,2,3,4,5,6]
    
  2. 将下列数据遍历成一个表格:

var performeres = [
//编号,演员姓名,饰演角色,性格[1,'孙红雷','何辅堂','为人正直不阿,欺强怜弱,善于机变。'],[2,'巍子','魏正先','鹰视狼顾,心狠手黑。'],[3,'陈数','程立雪','气质如兰,观之可亲,思想卓荦,才华压众。'],[4,'郭珍霓','刘二泉','动不便,但若论手段心机,十个健全人也不是她的对手。'],[5,'陈祉希','朱彩灵','刀马旦出身,水般柔美,火样性格。含威不露,顾盼神飞。']
];

javaScript学习第4天(数组)相关推荐

  1. JavaScript学习(九十)—数组练习题(2)

    JavaScript学习(九十)-数组练习题(2)

  2. JavaScript学习笔记:检测数组方法

    很多时候我们需要对JavaScript中数据类型( Function . String . Number . Undefined . Boolean 和 Object )做判断.在JavaScript ...

  3. javascript学习系列(9):原数组发生变化的情况

    最好的种树是十年前,其次是现在.歌谣 每天一个前端小知识 提醒你改好好学习了 知乎博主 csdn博主 b站博主  放弃很容易但是坚持一定很酷     我是歌谣 喜欢就一键三连咯 你得点赞是对歌谣最大的 ...

  4. JavaScript学习笔记——对象和数组(上)

    /** 对象:其实就是一种类型,即引用类型.以下学习的是Object类型,Array类型,以及其方法.* 对象的值就是引用类型的一个实例.如:水果作为一个对象,香蕉就是水果对象中的一个实例.男生是一个 ...

  5. JavaScript学习杂记--对象和数组

    一.对象 说起对象,我们不自然就想起了面向对象中自封装的一个类,同样JS中也是遵循这个守则,在web编程中几乎天天用到的就是JSON.是的,这就是一个对象,不过这个对象下面的字段都是字符串和值类型,如 ...

  6. JavaScript学习笔记之数组(二)

    JavaScript学习笔记之数组(二) 1.['1','2','3'].map(parseInt) 输出什么,为什么? ['1','2','3'].map(parseInt)//[1,NaN,NaN ...

  7. JavaScript学习总结(八)——JavaScript数组

    转载自   JavaScript学习总结(八)--JavaScript数组 JavaScript中的Array对象就是数组,首先是一个动态数组,无需预先制定大小,而且是一个像Java中数组.Array ...

  8. JavaScript学习笔记(六)--数组

    数组初始化 我们都知道,数组是用于保存多个值的集合,在数组中,值被称为元素,值可以是任意的数据类型.在Javascript中,创建数组通常有两种方式:字面量和构造函数. 字面量 数组的元素可以是任意的 ...

  9. JavaScript学习(九十二)—关联数组的基本操作

    JavaScript学习(九十二)-关联数组的基本操作 王同学的每天进步一点点系列!!! 一.关联数组的定义 定义:所谓关联数组,就是指数组元素的下标为字符型 二.关联数组的创建方式 1)定义一个空数 ...

  10. JavaScript学习(九十一)—二维数组的基本操作

    JavaScript学习(九十一)-二维数组和多维数组总结 王同学的每天进步一点点系列!!! (一).二维数组的定义格式 var 数组名称=[[值1,值2,值3],[值1,值2,值3],[值1,值2, ...

最新文章

  1. java tooltips_一款使用纯javacript编写的轻量级tooltips工具
  2. codevs——1019 集合论与图论
  3. POJ1144:Network(无向连通图求割点)
  4. RollingFileAppender
  5. oracle的cols,Oracle cols_as_rows 比对数据
  6. ArrayList源码分析(基于JDK1.6)
  7. echart 实例显示位置_技术分享:如何在Unity中使用实例化渲染?
  8. MySQL数据库服务器 主从配置
  9. 指针使用c语言,指针的使用(C语言)
  10. 程序清单4.1_talkback.c程序_《C Primer Plus》P60
  11. 大哥你需求里说只要工作流引擎组件,怎么真正需要的东西这么.悲剧了,客户需求无止境...
  12. 同一台主机部署两个比特币钱包以及rpc服务的摘要
  13. Python+pandas使用分裂与分组统计频次
  14. NHibernate使用--环境搭建
  15. pg日期转周_PostgreSQL的时间/日期函数使用
  16. php解析定时任务格式,php 实现定时任务简单实现
  17. Docker hub配置国内加速器
  18. kali 安装volatility_volatility的使用
  19. 育儿-《养育男孩》书中的精髓:父母如何理解男孩的每个成长阶段,更好地培养男孩?
  20. 如何删除git暂存区的文件

热门文章

  1. Window命令激活(不需要安装软件,激活180天)
  2. ftp文件服务器源代码,ftp文件服务器源代码
  3. python编写猫和老鼠
  4. 【BLE】蓝牙技术的应用
  5. 胡渊鸣大神:import一个“太极”库,让Python代码提速100倍!
  6. 华为OD机试 - GPU 调度(C 语言解题)【独家】
  7. 【科普】电压和接地真的存在吗?如何测试?
  8. IT草根创业者该做什么?
  9. 0023--softonic--免费软件下载
  10. 使用python将数据存储在txt文档中