数组对象的属性与方法

数组对象的属性与方法

属性:

方法:


constructor

书面说法:
返回对创建此对象的数组函数的引用。

解释:
当创建一个数组时,JavaScript 会 new 一个Array构造函数,从而返回一个实例,实例中包含__proto__属性,在__proto__属性下面会包含constructor属性,此属性的值指向Array构造函数。因此,每一个对象的实例都可以通过constructor访问它的构造函数。

示例:
var a = [1,2,3];
a.constructor === Array


length

书面说法:
设置或返回数组中元素的数目。

解释:
这个貌似没什么好解释的,唯一可说的是设置。当设置长度大于本身长度时,会追加其空元素,反之则对元素进行裁剪。

示例:
let a = [1, 2, 3]; a.length = 5 // log [1, 2, 3,*empty* ,*empty*];
a.length = 2; // log [1,2]


prototype

**书面说法:**对象的原型,使您有能力向对象添加属性和方法。

解释:
因为Js中每个数据类型都是对象(null和undefined除外)而每个对象都继承自另一个对象,后者称之为原型对象,当构建一个对象实例时,原型上的所有方法都会被继承。

示例:
Array.prototype.name == "给数组对象添加个名称属性"


concat()

书面说法:
连接两个或多个数组,返回连接好的新数组。

参数:
必需-该参数可以是具体的值,也可以是数组对象。可以是任意多个。

示例:
var a = [1, 2, 3]; a.concat(4, 5) // log [1, 2, 3, 4, 5]
a.concat([4, 5]) // log [1, 2, 3, 4, 5]


join()toString()toLocaleString()

书面说法:
用指定的分隔符,把数组元素组成字符串。
toString()是把数组对象转换成字符串并返回结果。
toLocaleString()在数组方面跟toString()是一样的,唯独在时间对象上不一样。

参数:
separator:可选-分隔符,当省略时,默认使用逗号分隔。toString()与toLocaleString()没有参数

示例:
var a = [1, 2, 3]; a.join(",") // log "1, 2, 3"


pop()shift()

书面说法:
删除并返回数组的最后一个元素。

参数:
无(该方法删除最后一个元素并返回,把数组长度减1,如果数组为空,则不改变数组,返回 undefined 值)shift()方法与之相反(删除并返回数组的第一个元素)

示例:
var a = [1, 2, 3]; a.pop() // log 3
var a = [1, 2, 3]; a.shift() // log 1


push()unshift()

书面说法:
向数组的末尾添加一个或多个元素,并返回新的长度。unshift()是在数组的开头。unshift()无法在IE下工作。

参数:
多个参数,必须有一个,该方法会直接修改原数组,返回修改后的数组长度。

返回值:
两者都是返回字符串,当join()省略参数时,两者结果一样。

示例:
var a = [1, 2, 3]; a.push("4","5")// log 5
var a = [1, 2, 3]; a.unshift("4","5")// log 5


reverse()

书面说法:
用于颠倒数组中元素的顺序。

返回值:
该方法会改变原来的数组,不创建新的数组,返回颠倒后的原数组的引用。

示例:
var a = [1, 2, 3]; a.reverse() // log [3, 2, 1]


slice()

书面说法:
从数组中返回指定的元素。

参数:
start:必需-要选取的开始位置的下标(当为负数时,则从数组末尾开始算,-1则为最后一个,-2为倒数第二个,依此类推)
end:可选-要选取的结束位置的下标(当为负数时,同上。当没有指定时,默认下标为最后一个元素。)

返回值: 返回从start-end(不包含)区间的新数组。该方法不会修改原数组。

示例:
var a = [1, 2, 3]; a.slice(0,2) // log [1, 2] a.slice(0,-1) // log [1, 2] a.slice(-3,-1) // log [1, 2]
以上结果都一样


sort()

**书面说法:**对数组的元素进行排序。

参数:
sortby:可选-Function类型,规定排序规则。
如果参数为空,则默认按字符编码进行排序,会自动把数组元素转换成字符串,再进行比较。
比较函数应带有a,b两个参数,在函数中比较后的返回值如下:

  • 当a小于b,希望a出现在b前面的前提下,返回<0的值
  • 当a等于b,返回0
  • 当a大于b,返回>0的值

返回值:
返回原数组的引用,不生成新的数组。

示例:
var a = [3, 2, 1]; a.sort() // log [1, 2, 3] a.sort((a, b) => { return -(a-b); }) // log [3, 2, 1]


splice()

书面说法:
向数组中添加/删除元素。

参数:
index:必需-整数,规定添加/删除的位置,如为负数则从结尾处开始计算。
howmany:必需-要删除的元素数量,如为0,则不删除元素。
item-n:可选-向数组中添加的新元素。当 howmany 为0时,新元素就增加至 index 处前面,否则将替换从 index 到 howmany 个元素的位置。

返回值:
返回被删除的元素组成的新数组,howmany 为0时,返回空数组。该方法会修改原数组。

示例:
var a = [1, 2, 3]; a.splice(1,0,1) // log [] a.splice(1,2,2) // log [2, 3]


valueOf()

书面说法:
返回数组对象的原始值。

**参数:**无

返回值:
返回值与toString()一样,唯一不同的是toString()返回的数据类型为字符串,而valueOf()返回的则是当前对象的数据类型。

示例:
var a = [1, 2, 3]; Array.isArray(a.valueOf()) // log true Array.isArray(a.toString()) // log false

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

云端君

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值