JS Array ECMAScript5 Methods

JavaScript的新版本(ECMAScript5)中,为数组新增了一些方法。这些方法包括:forEach(f[,o]):此方法类似于for/in循环,其作用是遍历整个数组并执行函数的某些

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

全栈程序员社区此处内容已经被作者隐藏,请输入验证码查看内容
验证码:
请关注本站微信公众号,回复“验证码”,获取验证码。在微信里搜索“全栈程序员社区”或者“www_javaforall_cn”或者微信扫描右侧二维码都可以关注本站微信公众号。

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

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

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()方法类似。

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]): 对数组元素进行过滤,返回一个符合要求的新数组。如:

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。

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。

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。

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()函数相似,只是它是从后面向前面进行搜索。
        推荐:http://www.cnblogs.com/roucheng/p/css3train.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • SQL Server —(CDC)监控表数据(转译)

    SQL Server —(CDC)监控表数据(转译)

    2021年11月26日
    39
  • 汇编语言比较指令cmp怎么用_汇编语言cmp指令怎么用

    汇编语言比较指令cmp怎么用_汇编语言cmp指令怎么用 刚刚看到了cmp指令,一开始有点晕。后来上网找了些资料,终于看明白了,为了方便初学者,我就简单写下我的思路吧。高手绕过,谢谢!   cmp(compare)指令进行比较两个操作数的大小    例:cmpoprd1,oprd2  为第一个操作减去第二个操作数,但不影响第两个操作数的值,它影响flag的CF,ZF,OF,AF,PF.                     …

    2022年10月9日
    0
  • 企业级PHP发卡网源码,金发卡企业级发卡平台源码

    企业级PHP发卡网源码,金发卡企业级发卡平台源码【实例简介】PHP环境:php5.XMySQL环境:mysql5.6服务器需开启伪静态后台默认账号密码:账号:admin密码:admin123配置说明:数据恢复文件目录\a8tgconfig\180626145246.sql或者通过客户端直接还原Back.psc数据库配置文件:\a8tgconfig\config.php修改相关数据库IP,账号,密码支付接口相关…

    2022年7月14日
    14
  • 快速排序(Python实现)

    一、算法介绍快速排序是经常考查到的排序算法,这里对快排算法做一下总结。快速排序是“交换”类的排序,它通过多次划分操作实现排序!以升序为例,其执行流程可以概括为:每一趟排序选择当前所有子序列的一个关键字(通常是第一个)作为枢轴量,将子序列中比枢轴量小的移到枢轴前边,比枢轴大的移到枢轴后边,具体过程是一个交替扫描和交换的过程。当本趟所有子序列都被枢轴以上述规则划分完毕后会得到新的一组更短的子序列,…

    2022年4月6日
    47
  • Unity3D入门Demo-Cube移动-触发球体-切换场景[通俗易懂]

    Unity3D入门Demo-Cube移动-触发球体-切换场景[通俗易懂]Unity3D入门Demo-Cube移动-触发球体-切换场景新建Unity3D项目–选择3D类型编写场景切换脚本ChangeScenes添加场景切换脚本到游戏物体并保存Menu场景新建Game游戏主场景,并添加方块和两个球体编写Cube移动脚本MoveCube编写Cube触发球体脚本TriggerEnter创建返回按钮并配置逻辑,保存Game场景创建Win场景和Lose场景将场景添加到Build…

    2022年8月10日
    19
  • 解决报错(Navigation cancelled from “/roleList“ to “/userlist“ with a new navigation.)[通俗易懂]

    解决报错(Navigation cancelled from “/roleList“ to “/userlist“ with a new navigation.)[通俗易懂]写项目的时候,报了一个错,现在总结出来,希望可以帮助到你们。这个报错的原因:使用新导航取消了从“/roleList”到“/userlist”的导航。解决的方法:关于VueRouter报错路由

    2022年7月1日
    152

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号