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()

返回数组对象的原始值。

会改变原数组的方法

  1. pop() 尾部弹出一个元素
  2. push() 尾部插入一个元素
  3. shift() 头部弹出一个元素
  4. unshift() 头部插入一个元素
  5. sort() 对数组进行排序
  6. reverse() 原位反转数组中的元素
  7. splice() 从数组中添加或删除元素
  8. copyWithin() 从数组的指定位置拷贝元素到数组的另一个指定位置中
  9. fill() 使用一个固定值来填充数组

常用方法

  1. forEach() 数组每个元素都执行一次回调函数
  2. map() 通过指定函数处理数组的每个元素,并返回处理后的数组
  3. filter() 检测数值元素,并返回符合条件所有元素的数组
  4. every() 检测数值元素的每个元素是否都符合条件
  5. some() 检测数组元素中是否有元素符合指定条件
  6. reduce() 将数组元素计算为一个值(从左到右)
  7. flat( ) 用于数组扁平,数组空项,可以接受参数深度值,最大为 Infinity
  8. flatMap() 首先使用映射函数映射每个元素,然后将结果压缩成一个新数组。它与 map 连着深度值为1的 flat 几乎相同