JavaScript Array(数组) 对象
- Array 对象
- Array 的属性
- length
- constructor
- prototype
- Array 对象方法
- 一览表
- 会改变原数组的方法
- 常用方法
此文对于 Array 相关知识点到为止,尤其对象方法的具体用法并未提及,适合用于有基础的同学作为回忆时的目录,或学前纲要。
Array 对象
数组对象是使用单独的变量名来存储一系列的值。:
var cars = ["Saab", "Volvo", "BMW"];
// 第一个数组元素的索引值为 0,第二个索引值为 1,以此类推。
cars[0] // "Saab"
Array 的属性
length
返回数组中元素个数
var arr = ['a', 2, '12'];
arr.length; // 3
constructor
返回构造函数,即创建数组对象的原型函数
var arr = ['a', 2, '12'];
// 返回对象的构造函数,返回值是函数的引用,不是函数名
arr.constructor; // function Array() { [native code] }
// 可以用来判断对象类型,但是不建议使用
arr.constructor === Array; // true
prototype
通过 prototype 属性可以向对象添加属性和方法。
// 当构建一个属性,所有的数组将被设置属性,它是默认值。
Array.prototype.myName='自定义的属性';
// 在构建一个方法时,所有的数组都可以使用该方法。
Array.prototype.myUcase=function()
{
for (i=0;i<this.length;i++)
{
this[i]=this[i].toUpperCase();
}
return this;
}
var arr = ['a', 'b'];
arr.myName; // '自定义的属性'
arr.myUcase(); // ['A', 'B']
Array 对象方法
一览表
方法 | 描述 |
concat() | 连接两个或更多的数组,并返回结果。 |
copyWithin() | 从数组的指定位置拷贝元素到数组的另一个指定位置中。 |
entries() | 返回数组的可迭代对象。 |
every() | 检测数值元素的每个元素是否都符合条件。 |
fill() | 使用一个固定值来填充数组。 |
filter() | 检测数值元素,并返回符合条件所有元素的数组。 |
find() | 返回符合传入测试(函数)条件的数组元素。 |
findIndex() | 返回符合传入测试(函数)条件的数组元素索引。 |
forEach() | 数组每个元素都执行一次回调函数。 |
from() | 通过给定的对象中创建一个数组。 |
includes() | 判断一个数组是否包含一个指定的值。 |
isArray() | 判断对象是否为数组。 |
indexOf() | 搜索数组中的元素,并返回它所在的位置。 |
join() | 把数组的所有元素放入一个字符串。 |
keys() | 返回数组的可迭代对象,包含原始数组的键(key)。 |
lastIndexOf() | 搜索数组中的元素,并返回它最后出现的位置。 |
map() | 通过指定函数处理数组的每个元素,并返回处理后的数组。 |
pop() | 删除数组的最后一个元素并返回删除的元素。 |
push() | 向数组的末尾添加一个或更多元素,并返回新的长度。 |
reduce() | 将数组元素计算为一个值(从左到右)。 |
reduceRight() | 将数组元素计算为一个值(从右到左)。 |
reverse() | 反转数组的元素顺序。 |
shift() | 删除并返回数组的第一个元素。 |
slice() | 选取数组的一部分,并返回一个新数组。 |
some() | 检测数组元素中是否有元素符合指定条件。 |
sort() | 对数组的元素进行排序。 |
splice() | 从数组中添加或删除元素。 |
toString() | 把数组转换为字符串,并返回结果。 |
unshift() | 向数组的开头添加一个或更多元素,并返回新的长度。 |
valueOf() | 返回数组对象的原始值。 |
会改变原数组的方法
-
pop()
尾部弹出一个元素 -
push()
尾部插入一个元素 -
shift()
头部弹出一个元素 -
unshift()
头部插入一个元素 -
sort()
对数组进行排序 -
reverse()
原位反转数组中的元素 -
splice()
从数组中添加或删除元素 -
copyWithin()
从数组的指定位置拷贝元素到数组的另一个指定位置中 -
fill()
使用一个固定值来填充数组
常用方法
-
forEach()
数组每个元素都执行一次回调函数 -
map()
通过指定函数处理数组的每个元素,并返回处理后的数组 -
filter()
检测数值元素,并返回符合条件所有元素的数组 -
every()
检测数值元素的每个元素是否都符合条件 -
some()
检测数组元素中是否有元素符合指定条件 -
reduce()
将数组元素计算为一个值(从左到右) -
flat( )
用于数组扁平,数组空项,可以接受参数深度值,最大为 Infinity -
flatMap()
首先使用映射函数映射每个元素,然后将结果压缩成一个新数组。它与 map 连着深度值为1的 flat 几乎相同