JS数组中every(),filter(),forEach(),map(),some()方法学习笔记!
ES5中定义了五种数组的迭代方法:every(),filter(),forEach(),map(),some()。
每个方法都接受两个参数:要在每一项运行的函数(必选)和运行该函数的作用域的对象-影响this的值(可选);
每个方法中的函数都会接受三个参数:该项的值(item),该项在数组的位置(index),数组对象本身(arr);
目前支持的浏览器有:IE9+, Firefox1.5+, Firefox(Gecko)1.8+, Chrome, Opera, Safari.
1.every()
对数组中的每一项都进行操作,而且每一项都要符合函数的条件.才会返回ture,否则返回false。
var num = [1,2,3,4,5];
var eve = num.every(function(item, index, arr){
return (item > 2);
});
console.log(eve); //false
2.some()
这个方法与every()方法极为相似,但又有所不同,every要求每一项都要符合函数里面的条件,而some只要求有数组中的某一项符合即可,这点类似于或与和。返回的是布尔值,使用事例如下:
1 var num = [1,2,3,4,5];
2 var eve = num.some(function(item, index, arr){
3 return (item > 2);
4 });
5 console.log(eve); //true
3.filter()
filter就相当于一个过滤器,符合条件的留下,不符合条件的去除。返回符合条件的数组!案例如下:
var num = [1,2,3,4,5];
var eve = num.filter(function(item, index, arr){
return (item > 2);
});
console.log(eve); //[3,4,5]
4.forEach()
forEach()方法可以使数组中的每个值都执行指定的函数,而且forEach()方法是唯一没有返回值的方法!案例如下:
var num = [1,2,3,4,5];
var eve = num.forEach(function(item, index, arr){
//执行你想要的操作
});
5.map()
map()方法同样可以使数组中的每一个值都执行指定的函数,并且返回得到的新的数组!案例如下:
var num = [1,2,3,4,5];
var eve = num.map(function(item, index, arr){
return item + 2;
});
console.log(eve); //[3,4,5,6,7]
JS数组中every(),filter(),forEach(),map(),some()方法学习笔记!的更多相关文章
- js数组中indexOf/filter/forEach/map/reduce详解
今天在网上看到一篇帖子,如题: 出处:前端开发博客 (http://caibaojian.com/5-array-methods.html) 在ES5中一共有9个Array方法,分别是: Array. ...
- JS Array常用方法indexOf/filter/forEach/map/reduce详解
Array共有九个方法 Array.prototype.indexOf Array.prototype.lastIndexOf Array.prototype.every Array.protot ...
- js数组中的find(), findIndex(), filter(), forEach(), some(), every(), map(), reduce()方法的详解和应用实例
1. find()与findIndex() find()方法,用于找出第一个符合条件的数组成员.它的参数是一个回调函数,所有数组成员依次执行该回调函数,直到找出第一个返回值为true的成员,然后返回该 ...
- JS去除数组中重复值的四种方法
JS去除数组中重复值的四种方法 1 /// <summary> o[this[i]] = ""; } } newArr.p ...
- python中的filter、map、reduce、apply用法
1. filter 功能: filter的功能是过滤掉序列中不符合函数条件的元素,当序列中要删减的元素可以用某些函数描述时,就应该想起filter函数. 调用: filter(function,seq ...
- 统计js数组中奇数元素的个数
如何统计一个JS数组中奇数元素的个数呢? 这是群友提出的一个问题,大部分群友给出的是遍历 然后对2取模,得到最终结果. 这样的写法是最容易想得到的,那么有没有其他思路呢? 这里我提供另外一种思路,我们 ...
- JavaScript从数组中删除指定值元素的方法
本文实例讲述了JavaScript从数组中删除指定值元素的方法.分享给大家供大家参考.具体分析如下: 下面的代码使用了两种方式删除数组的元素,第一种定义一个单独的函数,第二种为Array对象定义了一个 ...
- 关于iOS去除数组中重复数据的几种方法
关于iOS去除数组中重复数据的几种方法 在工作工程中我们不必要会遇到,在数组中有重复数据的时候,如何去除重复的数据呢? 第一种:利用NSDictionary的AllKeys(AllValues)方 ...
- php获取数组中重复数据的两种方法
分享下php获取数组中重复数据的两种方法. 1,利用php提供的函数,array_unique和array_diff_assoc来实现 <?php function FetchRepeatMem ...
随机推荐
- sublime text 3插件
Package Control Messages Emmet emmet插件 Thank you for installing Emmet -- a toolkit that can greatly ...
- localhost访问错误Forbidden You don't have permission to access / on this server.解决办法(亲测)
在httpd.conf文件下找到这段: <Directory /> Options FollowSymLinks AllowOverride None Order deny,allow D ...
- centos7 安装redis 开机启动
redis 下载 https://redis.io/download wget http://download.redis.io/releases/redis-3.2.6.tar.gz 解压缩 .ta ...
- EasyUI的combobox控件使用onchange 问题
在项目中几次都遇到了同样的问题,现在都不知道怎样解决了! 路过的朋友们帮我看看嘛!谢谢了! 最后我想要实现的效果是这样的. 在下拉列表中不存在值.(这里的是下拉列表中存在值的!) 但是在我输入值 ...
- 基于Eclipse+Cordova的Android Hybrid应用开发环境搭建
环境说明 操作系统:Windows 7 64位 Eclipse版本:4.5.2 Release(eclipse-jee-mars-2) JDK版本:1.8 搭建步骤 1.从http://www.ecl ...
- apache虚拟主机访问原理
www.a.com www.b.org www.c.net 都放在10.0.0.10这个服务器上 那么客户访问这三个域名 服务器是怎么分辨访问的是哪个目录呢 GET http://download.m ...
- linux 系统下 ngnix 显示目录形式
vi /usr/local/nginx/conf/nginx.conf #编辑配置文件,在server {下面添加以下内容: location / { autoindex on; autoin ...
- 前台jquery+ajax+json传值,后台处理完后返回json字符串,如何取里面的属性值?(不用springmvc注解)
一.取属性值 前台页面: function select(id){ alert("hfdfhdfh"+id); $.ajax({ url:"selectByid.jsp& ...
- jeesite部署到Tomcat后,无法访问,cannot be resolved in either web.xml or the jar files deployed with this application
HTTP Status 500 - /WEB-INF/views/modules/sys/sysLogin.jsp (line: 3, column: 0) The absolute uri: htt ...
- pip常见操作收录
由于这些东西比较容易忘掉,在这里几下吧 1. pip 对应用进行安装: sudo pip install your_app 2. pip 对应用进行update sudo pip install ...