JavaScript标准库之数组Array对象

本文详细解读Array对象的构造函数、数组创建方式,以及一系列实例方法,如isArray判断、valueOf和toString转换、数组操作(push、pop、shift、unshift等)和排序。掌握这些有助于提升JavaScript数组编程能力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、简介

Array数组 对象属性

2、创建

        a、构造函数           

        b、数组[ ]

二、方法

 静态方法

Array.isArray()

 实例方法

valueOf()

toString()

push()

pop()

shift()

unshift()

join()

concat()

reverse()

slice()

splice()

sort()

map()

forEach()

filter()

some()

every()

reduce()

reduceRight()

indexOf()

lastIndexOf()


​​​​​​​

一、简介

Array 对象数组用于在单个的变量中存储多个值。

1、属性

Array数组 对象属性

属性描述
constructor返回对创建此对象的数组函数的引用。
length设置或返回数组中元素的数目。
prototype使您有能力向对象添加属性和方法。

2、创建

        a、构造函数           

new Array();//无参数 创建一个空的Array数组,成员为空,length长度为0。
new Array(size);//参数size:数组成员的数量,也是数组的长度length属性的值。
new Array(element0, element1, ..., elementn);//参数 element0...表示创建数组的每个成员,
//可以是任意数据类型包括函数function。
let a = new Array('a', 'b', function() {
			console.log('这是Array里的函数!')
		}, 'c');
		a[2]();
//console:这是Array里的函数!

使用构造函数创建数组new 不写和写的行为效果一致。

        b、数组[ ]

     

let array = [1,2];
let arrayObject = ['a',function(){
    console.log('来自array的函数!');
},];

构造函数创建的数组因传入的参数不同返回的数组也不同

二、方法

 静态方法

        

方法名称说明

Array.isArray()

方法返回一个布尔值,表示参数是否为数组。它可以弥补 typeof  运算符的不足。

 实例方法

方法名称说明

valueOf()

valueOf  方法是一个所有对象都拥有的方法,表示对该对象求值。不同对象的 valueOf  方法不尽一致,数组的 valueOf  方法返回数组本身。

toString()

toString  方法也是对象的通用方法,数组的 toString  方法返回数组的字符串形式。

push()

push  方法用于在数组的末端添加一个或多个元素,并返回添加新元素后的数组长度。注意,该方法会改变原数组。

pop()

pop  方法用于删除数组的最后一个元素,并返回该元素。注意,该方法会改变原数组。

push  和 pop  结合使用,就构成了“后进先出”的栈结构(stack)。

shift()

shift()  方法用于删除数组的第一个元素,并返回该元素。注意,该方法会改变原数组。

shift()  方法可以遍历并清空一个数组。

unshift()

unshift()方法用于在数组的第一个位置添加元素,并返回添加新元素后的数组长度。注意,该方法会改变原数组。

unshift()  方法可以接受多个参数,这些参数都会添加到目标数组头部。

join()

join()  方法以指定参数作为分隔符,将所有数组成员连接为一个字符串返回。如果不提供参数,默认用逗号分隔。

如果数组成员是 undefined  或 null  或空位,会被转成空字符串。

通过 call  方法,这个方法也可以用于字符串或类似数组的对象。

concat()

concat  方法用于多个数组的合并。它将新数组的成员,添加到原数组成员的后部,然后返回一个新数组,原数组不变。

除了数组作为参数, concat  也接受其他类型的值作为参数,添加到目标数组尾部。

如果数组成员包括对象, concat  方法返回当前数组的一个浅拷贝。所谓“浅拷贝”,指的是新数组拷贝的是对象的引用。

reverse()

reverse  方法用于颠倒排列数组元素,返回改变后的数组。注意,该方法将改变原数组。

slice()

slice()  方法用于提取目标数组的一部分,返回一个新数组,原数组不变。

如果 slice()  方法的参数是负数,则表示倒数计算的位置。

slice()  方法的一个重要应用,是将类似数组的对象转为真正的数组。

splice()

splice()  方法用于删除原数组的一部分成员,并可以在删除的位置添加新的数组成员,返回值是被删除的元素。注意,该方法会改变原数组。

splice  的第一个参数是删除的起始位置(从0开始),第二个参数是被删除的元素个数。如果后面还有更多的参数,则表示这些就是要被插入数组的新元素。

如果只是单纯地插入元素, splice  方法的第二个参数可以设为 0  。

如果只提供第一个参数,等同于将原数组在指定位置拆分成两个数组。

sort()

sort  方法对数组成员进行排序,默认是按照字典顺序排序。排序后,原数组将被改变。

map()

map  方法接受一个函数作为参数。该函数调用时, map  方法向它传入三个参数:当前成员、当前位置和数组本身。

map  方法还可以接受第二个参数,用来绑定回调函数内部的 this  变量。

forEach()

forEach  方法与 map  方法很相似,也是对数组的所有成员依次执行参数函数。但
是, forEach  方法不返回值,只用来操作数据。这就是说,如果数组遍历的目的是为了得到返回值,那么使用 map  方法,否则使用 forEach  方法。
forEach  的用法与 map  方法一致,参数是一个函数,该函数同样接受三个参数:当前值、当前位置、整个数组。

filter()

filter  方法用于过滤数组成员,满足条件的成员组成一个新数组返回。

它的参数是一个函数,所有数组成员依次执行该函数,返回结果为 true  的成员组成一个新数组返回。该方法不会改变原数组。

some()

这两个方法类似“断言”(assert),返回一个布尔值,表示判断数组成员是否符合某种条件。
它们接受一个函数作为参数,所有数组成员依次执行该函数。该函数接受三个参数:当前成员、当前位置和整个数组,然后返回一个布尔值。

some  方法是只要一个成员的返回值是 true  ,则整个 some  方法的返回值就是 true  ,否则返回 false  。

every  方法是所有成员的返回值都是 true  ,整个 every  方法才返回 true  ,否则返
回 false  。

every()

reduce()

reduce  方法和 reduceRight  方法依次处理数组的每个成员,最终累计为一个值。它们的差别是, reduce  是从左到右处理(从第一个成员到最后一个成员), reduceRight  则是从右到左(从最后一个成员到第一个成员),其他完全一样。

reduceRight()

indexOf()

indexOf  方法返回给定元素在数组中第一次出现的位置,如果没有出现则返回 -1  。

indexOf  方法还可以接受第二个参数,表示搜索的开始位置。

lastIndexOf()

lastIndexOf  方法返回给定元素在数组中最后一次出现的位置,如果没有出现则返回 -1  。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值