文档章节

JavaScript零基础入门——(八)JavaScript的数组

JandenMa
 JandenMa
发布于 06/19 02:20
字数 753
阅读 14
收藏 0
点赞 0
评论 0

JavaScript零基础入门——(八)JavaScript的数组

欢迎大家回到我们的JavaScript零基础入门,上一节课我们讲了有关JavaScript正则表达式的相关知识点,便于大家更好的对字符串进行处理。这一节课,我们来讲一讲,JavaScript的数组。

之前我们有讲过,数组是用方括号包裹起来的一种存放数据的类型。但其实呢,数组在JS中是作为一种对象(即Array对象)存在,既然是对象,就会有它的属性和方法,至于为什么一定会有,我们后边的课再讲。

首先,我们来说一下数组的定义。一般来说,数组的定义有两种,一种是我们常见的用方括号来告诉程序,我是一个数组,具体表现为var arr = [];而另一种呢是比较标准的写法,即通过new Array来实现。通常情况下,我们的每一个数组,只存一种类型的变量。我们来看看代码:

var arr1 = [12,5,8];

var arr2 = new Array(12,5,8);

刚刚说了,作为Array对象,就一定有它的属性。Array的属性有不少,但我们常用的基本上只有一个,那就是length,即数组长度,这是一个可set可get的属性,也就是说我们可以取到它的值,也可以给他赋值,而赋值我们常常用于清空数组。来看代码:

var arr = [12,5,8,33];

console.log(arr.length);//4

arr.length = 0;

console.log(arr);//空的

说完属性,我们来说方法。JS数组的方法其实有很多,其中最常用的是五类数组操作方法,我们分别来看一下。

  • 添加元素
  1. push(item)——从尾部加一个数组元素;
  2. unshift(item)——从头部加一个数组元素;
  • 删除元素
  1. pop()——从尾部弹出一个元素;
  2. shift()——从头部弹出一个元素;
var arr = [12,5,8];

arr.push(33);

console.log(arr);//[12,5,8,33]

arr.unshift(1);

console.log(arr);//[1,12,5,8,33]

arr.pop();

console.log(arr);//[1,12,5,8]

arr.shift();

console.log(arr);//[12,5,8]
  • 排序
  1. sort([比较函数]),如果不传比较函数,默认只按字符串排序;
var arr = [12,99,65,8,24,16];

arr.sort(function(n1,n2){
    if(n1>n2){
        return 1;
    }else if(n1==n2){
        return 0;
    }else{
        return -1;
    }
});

arr.sort(function(n1,n2){
    return n1-n2;
});
  • 转换
  1. concat——两个数组连接;
  2. join(连接符)——将元素用连接符连接后返回字符串;
var arr = [12, 5, 8];

var arr2 = [6, 2, 3];

arr = arr.concat(arr2);

console.log(arr); //[12,5,8,6,2,3]

arr = arr.join('/')

console.log(arr); //12/5/8/6/2/3
  • 万能的splice
  1. 插入——splice(startIndex,0,item1,item2..);
  2. 删除——splice(startIndex,deleteLength);
  3. 先删后插入——splice(startIndex,deleteLength,item1,item2...);
var arr = [12, 5, 8];

arr.splice(1,0,16);

console.log(arr); //[12,16,5,8]

arr.splice(2,1);

console.log(arr); //[12,16,8]

arr.splice(1,1,10,18);

console.log(arr); //[12,10,18,8]

好了,这节课简单的了解了JavaScript的数组,希望大家自己敲一敲。下一节课,我们来讲一讲JavaScript中的函数。

                                                                                                       

如果想跟着振丹继续学习,可以微信关注【振丹敲代码】(微信号:JandenCoding)

新博文微信同步推送,还附有讲解视频哦~

也可直接扫描下方二维码关注。

© 著作权归作者所有

共有 人打赏支持
JandenMa
粉丝 7
博文 21
码字总数 19977
作品 0
汕头
JavaScript零基础入门——(十三)JavaScript的事件

JavaScript零基础入门——(十三)JavaScript的事件 大家好,欢迎回到我们的JavaScript零基础入门。上一节课,我们了解了JavaScript定时器,也演示了一些比较经典的例子,其实我们已经用到了...

JandenMa
07/01
0
0
前端学习之路(从入门到入坑...)

学习前端两年多了,拿了阿里巴巴实现offer,想结合个人经历总结的前端入门方法,总结从零基础到具备前端基本技能的道路、学习方法、资料。由于能力有限,不能保证面面俱到,只是作为入门参考...

阿小庆
06/14
0
0
JavaScript零基础入门——(十一)JavaScript的DOM操作

JavaScript零基础入门——(十一)JavaScript的DOM操作 大家好,欢迎回到我们的JavaScript零基础入门。最近有些同学问我说,我讲的的比书上的精简不少。其实呢,我主要讲的是我在开发中经常会...

JandenMa
06/25
0
0
JavaScript零基础入门——(十二)JavaScript的定时器

JavaScript零基础入门——(十二)JavaScript的定时器 大家好,欢迎回到我们的JavaScript零基础入门。上一节课我们讲了JavaScript中一些常用的DOM操作,这里要补充一个点,上节课讲的table几...

JandenMa
06/27
0
0
jQuery零基础入门——(二)Selector选择器

《jQuery零基础入门》系列博文是在廖雪峰老师的博文基础上,补充了个人的理解和日常遇到的点,用我的理解表述出来,主干出处来自廖雪峰老师的技术分享。 大家好,欢迎回到我们的jQuery零基础...

JandenMa
07/01
0
0
JavaScript零基础入门——(十四)JavaScript的BOM

JavaScript零基础入门——(十四)JavaScript的BOM 大家好,欢迎回到我们的JavaScript零基础入门。上一节课我们了解了JavaScript的事件,这一节课,我们以JavaScript的BOM,来结束JavaScrip...

JandenMa
07/08
0
0
5分钟,掌握9个风骚又简洁的JavaScript技巧

5分钟,掌握9个风骚又简洁的JavaScript技巧 编辑于 2018-05-08

优达学城(Udacity)
05/16
0
0
JavaScript零基础入门——(十)JavaScript的DOM基础

JavaScript零基础入门——(十)JavaScript的DOM基础 欢迎大家回到我们的JavaScript零基础入门,上一节课,我们了解了JavaScript中的函数,这一节课,我们来了解一下JavaScript的DOM。 第一节...

JandenMa
06/23
0
0
谈谈神秘的ES6——(一)初识ECMAScript

谈谈神秘的ES6——(一)初识ECMAScript 在《零基础入门JavaScript》我们就说过,ECMAScript是JavaScript的核心,是JavaScript语法和语义的解释器,同时也是一个标准。而ECMAScript标准其实也...

JandenMa
前天
0
0
jQuery零基础入门——(六)修改DOM结构

《jQuery零基础入门》系列博文是在廖雪峰老师的博文基础上,可能补充了个人的理解和日常遇到的点,用我的理解表述出来,主干出处来自廖雪峰老师的技术分享。 在《零基础入门JavaScript》的时...

JandenMa
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

java 重写排序规则,用于代码层级排序

1.dataList 是个List<Map<String,Object>> 类型的数据,所以比较的时候是冲map中获取数据,并且数据不能为空。 2.dataList 类型是由自己定义的,new Comparator<Map<String,Object>> 也是对应......

轻量级赤影
9分钟前
0
0
分布式大型互联网企业架构!

摘要: 开发工具 1.Eclipse IDE:采用Maven项目管理,模块化。 2.代码生成:通过界面方式简单配置,自动生成相应代码,目前包括三种生成方式(增删改查):单表、一对多、树结构。生成后的代码...

明理萝
10分钟前
0
1
对MFC程序的一点逆向分析:定位按钮响应函数的办法

因为消息响应函数保存在AFX_MSGMAP_ENTRY数组中, 观察nMessage、nCode、nID、pfn利用IDA在rdata段中搜索即可, 在IDA中找到代码段基址0x401000,函数地址0x403140, 在WinDbg中运行!addre...

oready
10分钟前
0
0
阻抗匹配与史密斯(Smith)圆图基本原理

参考:http://bbs.eeworld.com.cn/thread-650695-1-1.html

whoisliang
15分钟前
0
0
maven配置文件分离

一、 简介 遇到很多次别人处理的项目,测试环境,本地开发和线上环境的配置不一样,每一次部署都要重新修改配置文件,提交审核代码,才能打包,非常不方便。 其实相信很多人都知道可以使用m...

trayvon
15分钟前
0
0
MacOS和Linux内核的区别

导读 有些人可能认为MacOS和Linux内核有相似之处,因为它们可以处理类似的命令和类似的软件。甚至有人认为苹果的MacOS是基于linux的。事实上,这两个内核的历史和特性是非常不同的。今天,我...

问题终结者
32分钟前
1
0
SpringBoot | 第八章:统一异常、数据校验处理

前言 在web应用中,请求处理时,出现异常是非常常见的。所以当应用出现各类异常时,进行异常的捕获或者二次处理(比如sql异常正常是不能外抛)是非常必要的,比如在开发对外api服务时,约定了响...

oKong
39分钟前
3
0
mysql高级

一、存储引擎 InnoDB MyISAM 比较 二、数据类型 整型 浮点数 字符串 时间和日期 三、索引 索引分类 索引的优点 索引优化 B-Tree 和 B+Tree 原理 四、查询性能优化 五、切分 垂直切分 水平切分...

丁典
今天
1
0
rsync通过同步服务、系统日志、screen工具

rsync通过后台服务同步 在远程主机中建立一个rsync服务器,在服务器上配置好rsync的各种应用,然后将本机作为rsync的一个客户端连接远程的rsync服务器。 首先在A机器上建立并且配置rsync的配...

黄昏残影
今天
5
0
Spring Cloud Gateway 接口文档聚合实现

在微服务架构下,通常每个微服务都会使用Swagger来管理我们的接口文档,当微服务越来越多,接口查找管理无形中要浪费我们不少时间,毕竟懒是程序员的美德。 由于swagger2暂时不支持webflux 走...

冷冷gg
今天
166
2

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部