前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JS Array ECMAScript5 Methods

JS Array ECMAScript5 Methods

作者头像
全栈程序员站长
发布2022-07-15 14:51:29
3.2K0
发布2022-07-15 14:51:29
举报

大家好,又见面了,我是全栈君

JavaScript 的新版本(ECMAScript 5)中,为数组新增了一些方法。这些方法包括:

forEach(f [,o]): 此方法类似于for/in循环,其作用是遍历整个数组并执行函数的某些操作,但它不会遍历数组的属性。它接受一个函数参数,该函数可以有1、2与3个参数。完整的三个参数分别为:数组中的每一个值,数组的索引,数组本身。这个函数没有返回值。如:

代码语言:javascript
复制
var a = [0,1,2,3,4];  
var sum = 0;  
a.forEach(function(v,i,arr){  
     sum += v;  
     console.log(arr[i]);  
});
// http://www.cnblogs.com/roucheng/

map(f [,o]): 类似于forEach()方法,但它有返回值—一个新数组,它的参数函数必须有返回值,参数函数的返回值作为新数组的元素。其它用法与forEach()方法类似。

代码语言:javascript
复制
var a = [1,2,3,4,5];  
var b = a.map(function(x){  
     return x*x;  
});  
  
console.log(a); //[1,2,3,4,5]  
console.log(b); //[1,4,9,16,25]

filter(f [, o]): 对数组元素进行过滤,返回一个符合要求的新数组。如:

代码语言:javascript
复制
var a = [1,2,3];  
a[5] = 6;  
  
var b = a.filter(function(x){  
    return x !== undefined;  
});  
  
console.log(a); //[1,2,3,undefined,undefined,6];  
console.log(b); //[1,2,3,6];

// http://www.cnblogs.com/roucheng/

every(f [, o]): 有一个布尔类型的返回值,函数参数f用来检测数组元素是否满足要求。有且只有数组全部元素都满足f的要求时,才会返回true,否则返回false。

代码语言:javascript
复制
var a = [1,3,7];  
  
var flag = a.every(function(x){  
     return x < 5;  
});  
  
console.log(flag); //false

some(f [, o]): 与every()方法不同,只要有数组元素满足f的要求就返回true,否则返回false。

代码语言:javascript
复制
var a = [1,3,7];  
  
var flag = a.some(function(x){  
     return x < 5;  
});  
  
console.log(flag); //true

reduce(f [, initial, index, array]): 对数组元素值进行计算。返回最后一次计算的值。函数f(x,y)接受两个参数,如果有初始值,则把初始值作为x计算,然后把每一次的计算值作为下一次的x,把数组元素依次作为y。

代码语言:javascript
复制
var a = [1,2,3,4,5];  
  
var b = a.reduce(function(x,y){  
     return x+y;  
},0);  
  
console.log(b);  //15

reduceRight(): 与reduce()函数作用相同,只是它从右向左依次取数组元素。

indexOf(value [, start]): 根据值来找到相应在数组中的索引位置,取多个匹配索引用最小的那个或在没有匹配的情况下返回-1。

lastIndexOf(value [, start]): 与indexOf()函数相似,只是它是从后面向前面进行搜索。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/120626.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021年12月,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档