IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> javascript数组详解 -> 正文阅读

[JavaScript知识库]javascript数组详解

课程大纲

  1. 数组的概念
  2. 数组的特点
  3. 数组的调用
  4. 数组的方法
  5. 二维数组

数组的概念

数组(Array)是按照一定顺序排列的一组值,每个值都拥有自己的编号,编号从0开始。整个数组用方括号来表示。

var arr=[item1,item2,item3];

item1、item2和item3是泛指,javascript中的数组元素可以是任何类型的数据。

split方法

split方法能够根据指定的符号将字符串进行分割,分割后的每一个子元素整合成一个数组返回。如果无法分割,那么返回的数组只有一个元素,这个元素就是字符串本身。

str.split(symbol);

split方法最后会返回一个数组。

数组的特点

  1. 数组的本质
    本质上,数组是对象类型的一种特殊变现形式。因此创建的时候我们可以使用new方式来创建。
var arr=new Array("zhangsan",123,true);

typeof运算符会返回数组的类型是object。
2. 数组的长度
javascript中的数组元素可以是任何数据类型的。而在计算机中不同的数据类型数据是放在不同存储区的。
因此javascript中的数组元素时在内存中的存储位置不连续的。
但是我们又不能按照内存地址来访问数组元素,那样会造成编程过程中的灾难。
所以为了解决这个问题,我们按照下标的方式来对数组元素进行标记。
所以我们计算数组长度的时候只需要计算数组元素的个数即可。

总结:javascript数组在内存中的存储位置是不连续的,但是数组的下标是连续的。

根据上述原理,javascript给数组提供了一个.length属性来计算数组长度。

arr.length

length是一个可写属性。
如果设置length长度小于数组本身长度,那么多余元素舍弃。
如果设置length长度大于数组本身长度,那么缺少元素用空位补齐。
如果设置length长度不是合法数值,那么会报错Invalid array length。

数组的遍历

如果想要连续访问数组中的每个元素,可以使用for in快速遍历。

var arr=new Array("zhangsan",123,true);
for(var index in arr){
    console.log(arr[index]);
}

数组的空位

当数组的某个位置是空元素,即两个逗号之间没有任何值,我们称该数组存在空位。

var arr=["zhangsan",,true];

如果最后一个元素后面有逗号,这种情况并不会产生空位。也就是说最后一个元素后面的逗号有和没有结果都是一样的。(当然这种写法并不推荐)。

数组的’删除‘

delete命令能够删除数组中的元素的值,从而形成空位。但是delete命令并不会影响length的属性。

var arr=["zhangsan","lisi",true];
delete arr[1];

delete命令在使用的时候,是根据数组下标来对指定数组的值进行删除的。

数组的调用

数组的调用实际上指的是元素的调用。数组元素通过[数组名+下标]的方式来进行访问。

数组的方法

方法名作用
isArray判断是否为数组
valueOf返回数组本身
toString将数组以字符串的形式返回
push向数组末尾追加数据,返回当前数组的长度
pop删除数组最后一个元素
join将数组转换为字符串,默认按逗号隔开
shift()在数组头部删除一个元素
unshift()在数组头部添加一个元素
reverse()数组反转
slice数组截取
splice数组截取,并且可以插入新的元素(改变原数组)
sort排序
indexOf索引
lastIndexOf反序索引

isArray方法

isArray方法是数组提供的用来专门判断当前对象是否为数组的方法。如果是数组返回true,否则返回false。

var arr=[];
Array.isArray(arr);

valueOf方法

valueOf方法归属于Object对象类型,作用是返回指定对象的原始值。在数组中作用是返回数组本身。

arr.valueOf();

javascript的许多内置对象都重写了该函数,以实现更适合自身的功能需要。因此,不同类型对象的valueOf()方法的返回值和返回值类型均可能不同。

toString方法

toString方法能够把数组转换成字符串。

arr.toString()

toString方法不止能转换数组,对于布尔值也能够转换。

join方法

join方法能够以给定的参数做分隔符,将所有的数组元素组成一个字符串。如果不提供参数,默认使用逗号分隔。

arr.join(separator);

push方法

push方法用于在数组的末端添加一个或多个元素,并返回添加后的数组的长度。

arr.push(item);

pop方法

pop方法用于删除数组的最后一个元素,并返回删除的这个元素。

arr.pop();

shift方法

shift方法用于删除数组中的第一个元素,并返回删除的这个元素。

arr.shift();

unshift方法

unshift方法用于在数组的第一个位置添加元素,并返回添加元素后新数组的长度。

arr.unshift(item);

reverse方法

reverse方法能够反序排列数组

slice方法

slice方法作用是能够根据指定的【起始点】和【结束点】来对数组进行截取,并生成一个新数组。新数组的内容是从起始点下标开始的元素到结束点下标的元素,但是不包括结束点下标的元素本身。

arr.slice(index1,index2);

slice方法的参数可以是负值。-1代表最后一个元素,-2代表倒数第二个元素。
如果只写一个参数,则表示从当前坐标开始截取一直到最后一个元素。

splice方法

splice方法和slice方法很相似,但是splice功能更强大一些。
splice方法的作用是在指定下标处截取一定长度的元素,再插入一些新元素,并将删除的元素构成一个新数组返回。splice方法会改变原本数组。

arr.splice(index,removeCount,addItem1,addItem2,...);

对于splice方法来说,有没有新元素不是必要的。

sort方法

sort方法用于对数组元素进行排序。默认按照编码方式进行排序(即不在括号里写任何内容),如果不希望按照默认方式排序,则需要自定义排序函数。

arr.sort(sortby);

如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序。

如果想按照其他标准进行排序,就需要提供比较函数

indexOf方法

indexOf方法能够从前到后检索数组,并返回元素在数组中第一次出现的下标,如果没有索引到则返回-1.
indexOf第二个参数表示从第几个元素开始索引,是可选参数。

arr.indexOf(item,beginIndex);

第二个参数可以是负值。如果是—1则表示从最后一个元素开始向后查找。

lastIndexOf方法

indexOf方法能够从后到前检索数组,并返回元素在数组中第一次出现的下标,如果没有索引到则返回-1.
indexOf第二个参数表示从第几个元素开始索引,是可选参数。

arr.lastIndexOf(item,beginIndex);

第二个参数可以是负值。如果是—1则表示从最后一个元素开始向后查找。

二维数组

如果数组的元素还是数组,那么我们就称外层数组是一个二维数组。

var arr=[[item1,item2],[item3,item4]];
  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-10-20 12:24:14  更:2021-10-20 12:25:47 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/10 15:50:23-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码