JavaScript Array对象
2021-10-15 本文已影响0人
微语博客
JavaScript Array对象用于创建数组,操作已有的数组,数组是引用对象,在内存指针指向另一个内存空间。数组可以使用单一变量存储一系列值,每个数组元素都可以用索引读取,方便操作。
创建数组
可以通过直接定义字面量数组和创建Array实例对象,数组使用方括号表示。
var arr = [1,2,3,"hello",true];
console.log(typeof arr);//object
var arr2 = new Array(2);//创建指定长度数组
arr2[0] = 1;
arr2[1] = "你好";
console.log(typeof arr2);//object
数组是object类型,Date也是object类型,使用typeof不能区分它们的数据类型,应该使用constructor属性。
访问数组
数组长度,数组的length属性返回指定数组的长度。
var arr = [1,2,3,"Hello",true];
console.log(arr.length);//5
数组可以通过数组下标索引读取元素。
var arr = [1,2,3,"Hello",true];
console.log(arr[0]);//1
console.log(arr[3]);//Hello
console.log(arr[4]);//true
[0] 是数组的第一个元素,[1] 是数组的第二个元素,以此类推。数组最后一个元素是数组的长度减1:
arr.length-1
.
数组的值类型
从上面的示例看到:数组的元素可以是数字、字符串、布尔;除此之外,数组的值也还可以是数组、对象、函数等。
var arr2 = new Array();//创建数组长度不定
arr[0] = [1,2,3];
arr[1] = function test(){}
arr[2] = {}
console.log(arr2[0]);//[1,2,3]
console.log(arr2[1]);//test(){}
console.log(arr2[2]);//{}
数组常用和方法
方法 | 描述 |
---|---|
concat() | 连接两个或更多的数组,并返回结果。 |
copyWithin() | 从数组的指定位置拷贝元素到数组的另一个指定位置中。 |
entries() | 返回数组的可迭代对象。 |
every() | 检测数值元素的每个元素是否都符合条件。 |
fill() | 使用一个固定值来填充数组。 |
filter() | 检测数值元素,并返回符合条件所有元素的数组。 |
find() | 返回符合传入测试(函数)条件的数组元素。 |
findIndex() | 返回符合传入测试(函数)条件的数组元素索引。 |
forEach() | 数组每个元素都执行一次回调函数。 |
from() | 通过给定的对象中创建一个数组。 |
includes() | 判断一个数组是否包含一个指定的值。 |
indexOf() | 搜索数组中的元素,并返回它所在的位置。 |
isArray() | 判断对象是否为数组。 |
join() | 把数组的所有元素放入一个字符串。 |
keys() | 返回数组的可迭代对象,包含原始数组的键(key)。 |
lastIndexOf() | 搜索数组中的元素,并返回它最后出现的位置。 |
map() | 通过指定函数处理数组的每个元素,并返回处理后的数组。 |
pop() | 删除数组的最后一个元素并返回删除的元素。 |
push() | 向数组的末尾添加一个或更多元素,并返回新的长度。 |
reduce() | 将数组元素计算为一个值(从左到右)。 |
reduceRight() | 将数组元素计算为一个值(从右到左)。 |
reverse() | 反转数组的元素顺序。 |
shift() | 删除并返回数组的第一个元素。 |
slice() | 选取数组的一部分,并返回一个新数组。 |
some() | 检测数组元素中是否有元素符合指定条件。 |
sort() | 对数组的元素进行排序。 |
splice() | 从数组中添加或删除元素。 |
toString() | 把数组转换为字符串,并返回结果。 |
unshift() | 向数组的开头添加一个或更多元素,并返回新的长度。 |
valueOf() | 返回数组对象的原始值。 |