JavaScript 中的 Array对象方法

本文详细介绍了JavaScript数组的各类方法,包括静态方法Array.isArray(),实例方法如push(), pop(), slice()等,以及高阶函数如map(), filter(), reduce()等的使用方法和示例,帮助读者深入理解并灵活运用数组操作。

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

 参考:https://wangdoc.com/javascript/stdlib/array.html

一、静态方法

Array.isArray():Array.isArray方法返回一个布尔值,表示参数是否为数组。

二、实例方法

2.1 valueOf():是一个所有对象都拥有的方法,表示对该对象求值;数组的valueOf方法返回数组本身。

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

2.2 push():用于在数组的末端添加一个或多个元素,并返回添加新元素后的数组长度。

      pop():用于删除数组的最后一个元素,并返回该元素。对空数组使用该方法,不会报错,而是返回undefined。

2.3 shift():用于删除数组的第一个元素,并返回该元素;该方法可以遍历并清空一个数组。

      unshift():用于在数组的第一个位置添加元素,并返回添加新元素后的数组长度,可以接受多个参数。

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

2.5 concat():用于将多个数组合并,将新数组的成员添加到原数组成员的后部,返回一个新数组,原数组不变;如果数组成员包括对象,该方法返回当前数组的一个浅拷贝。

2.6 reverse():用于颠倒排列数组元素,返回改变后的数组。

2.7 slice():用于提取目标数组的一部分,返回一个新数组,原数组不变。它的第一个参数为起始位置(从0开始),第二个参数为终止位置(但该位置的元素本身不包括在内),如果参数是负数,则表示倒数计算的位置。

2.8 splice():用于删除原数组的一部分成员,并可以在删除位置添加新的数组成员,返回值是被删除的元素。它的第一个参数是删除的起始位置(从0开始),第二个参数是被删除的元素的个数。如果起始位置是负数,则表示从倒数位置开始删除。

2.9 sort():用于对数组成员进行排序,默认是按照字典顺序排序,如果想让该方法按照自定义方式排序,可以传入一个函数作为参数。

2.10 map():将数组的所有成员依次传入参数函数,然后把每一次的执行结果组成一个新数组返回;map方法接受一个函数作为参数,该函数调用时,map方法向它传入三个参数:当前成员、当前位置、数组。

注:map方法不会跳过undefined和null,但是会跳过空位。

var numbers = [1,2,3];
var result = numbers.map(function (n) {
    return n+1;
});

console.log(numbers);    //[1, 2, 3]
console.log(result);    //[2, 3, 4]

2.11  forEach():对数组的所有成员依次执行参数函数,不返回值,只用来操作数据。forEach的用法与map方法一致,参数是一个函数,同样接受三个参数:当前值、当前位置、数组。forEach方法不会跳过undefined和null,但会跳过空位。

2.12 filter():用于过滤数组成员,满足条件的成员组成一个新数组返回。它的参数是一个函数,同样接受三个参数:当前值,当前位置、数组。所有数组成员依次执行该函数,返回结果为true的成员组成一个新数组返回。

var arr = [1,2,3,4,5,6,7,8,9];
var result = arr.filter(function(elem) {
    return (elem >5);
});
console.log(result);   //[6, 7, 8, 9]

2.13 some():用于判断数组成员是否符合某种条件,接受一个函数作为参数,所有数组成员依次执行该函数,接受三个参数:当前值、当前位置、数组;然后返回一个布尔值。some方法是只要一个成员的返回值是true,则整个some方法的返回值就是true,否则返回false

       every():用于判断数组成员是否符合某种条件,接受一个函数作为参数,所有数组成员依次执行该函数,接受三个参数:当前值、当前位置、数组;然后返回一个布尔值。every方法是所有成员的返回值都是true,整个every方法才返回true,否则返回false

注:对于空数组,some方法返回false,every方法返回true,回调函数都不会执行。

2.14 reduce()、reduceRight(): 用于依次处理数组的每个成员,最终累计为一个值。reduce是从左到右处理,reduceRight是从右到左。 reduce方法和reduceRight方法的第一个参数都是一个函数,该函数接受四个参数:累计变量,默认为数组的第一个成员;当前变量,默认为数组的第二个成员;当前位置(从0开始);原数组。如果要对累积变量指定初值,可以把它放在reduce方法和reduceRight方法的第二个参数。

var arr = [1,2,3,4,5,6,7,8,9];
var result = arr.reduce(function(elem_1,elem_2) {
    return elem_1+elem_2;
})

console.log(result);      //45

//初始值为5
var resultInit = arr.reduce(function(a,b) {
    return a+b;
},5)

console.log(resultInit);   //50

2.15   indexOf():返回给定元素在数组中第一次出现的位置,如果没有出现则返回-1。该方法还可以接受第二个参数,表示搜索的开始位置。

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值