JavaScript高级数据类型之数组

简介: 引入之前介绍了一些基本的数据类型,包括字符串、数值等。今天一起来看看一个比较高级的数据类型——数组


引入


之前介绍了一些基本的数据类型,包括字符串、数值等。今天一起来看看一个比较高级的数据类型——数组


1. Array


JavaScript的数组称作array,可以包含任意的书类型,可以通过索引来访问每个元素。

其中,array的长度记录在length属性中:

var arr = [1, 2, 3.14, 'Hello', null, true];
arr.length; // 返回值是6
复制代码


有趣的是,这个length属性是可以直接赋值的,赋值后会改变array的长度,若缺少定义则会将空缺部分表示为undefined


var arr = [1, 2, 3];
arr.length; // 3
arr.length = 6;
arr; // arr变为[1, 2, 3, undefined, undefined, undefined]
arr.length = 2;
arr; // arr变为[1, 2]
复制代码


2.修改元素


直接通过索引即可修改元素为新的值。修改方式类似python的列表,中括号中间表示索引值,且索引是从0开始的


var arr = ['A', 'B', 'C'];
arr[1] = 1;
arr; // arr现在更新为['A', 1, 'C']
复制代码


注意到arr[1]表示的就是arr的第二个元素,直接用赋值语句赋值即可改变元素的值。

这里也很有趣。和python不一样的是,当我们索引的值超过上限,python

等其他编程语言都会报错显示越界,但JavaScript会正常运行,并扩充array的大小

var arr = [1, 2, 3];
arr[5] = 'a';
arr; // arr更新为[1, 2, 3, undefined, undefined, 'a']
复制代码


3. indexOf()


array可以通过indexOf函数来搜索一个指定的元素,返回他的位置:

var arr = [1, 2, '3', 'x'];
arr.indexOf(10); 
arr.indexOf(20); 
arr.indexOf(30); 
arr.indexOf('30'); 
复制代码


在上面的运行过程中:

元素1的索引为0

元素2的索引为1

元素3没有找到返回-1

元素'3'的索引为2


4.slice()


如果我们需要截取array的元素(有的地方会称作是切片操作),可以采用slice函数。其会返回一个新的array

var arr = ['A', 'B', 'C', 'D', 'E', 'F', 'G'];
arr.slice(0, 3); 
arr.slice(3); // 从索引3开始到结束: ['D', 'E', 'F', 'G']
复制代码


第二行代码的含义就是:切片从第一个开始,到第二个结束,(即切到后一个参数前的一个数,不包括后一个参数的索引)。

所以最后输出是:['A', 'B', 'C']


相关文章
|
22天前
|
存储 JavaScript 对象存储
js检测数据类型有那些方法
js检测数据类型有那些方法
132 59
|
1天前
|
JavaScript 前端开发
如何在JS中声明一个数组
如何在JS中声明一个数组
7 0
|
6天前
|
存储 JavaScript 前端开发
JavaScript Array(数组) 对象
JavaScript Array(数组) 对象
14 3
|
14天前
|
存储 前端开发 JavaScript
前端基础(三)_JavaScript数据类型(基本数据类型、复杂数据类型)
本文详细介绍了JavaScript中的数据类型,包括基本数据类型(Number、String、Boolean、Undefined、Null)和复杂数据类型(Object),并解释了如何使用`typeof`操作符来识别变量的数据类型。同时,还讨论了对象、函数和数组等复杂数据类型的使用方式。
16 2
|
23天前
|
JavaScript 前端开发
js删除数组最后一个元素
js删除数组最后一个元素
|
22天前
|
JavaScript 前端开发 索引
|
2天前
|
数据采集 JavaScript 前端开发
JavaScript中通过array.filter()实现数组的数据筛选、数据清洗和链式调用,JS中数组过滤器的使用详解(附实际应用代码)
JavaScript中通过array.filter()实现数组的数据筛选、数据清洗和链式调用,JS中数组过滤器的使用详解(附实际应用代码)
|
11天前
|
JavaScript 前端开发 C++
JavaScript用indexOf()在字符串数组中查找子串时需要注意的一个地方
JavaScript用indexOf()在字符串数组中查找子串时需要注意的一个地方
|
11天前
|
JavaScript 前端开发
JavaScript从二维数组抽取元素组成新数组的三种方法
JavaScript从二维数组抽取元素组成新数组的三种方法
|
14天前
|
JavaScript 前端开发
JavaScript 中 五种迭代数组的方法 every some map filter forEach
本文介绍了JavaScript中五种常用数组迭代方法:every、some、filter、map和forEach,并通过示例代码展示了它们的基本用法和区别。