`
yuyongkun4519
  • 浏览: 43085 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

ES5 Array实例对象新增方法forEach,map,filter,find,some,every详解

 
阅读更多

在es5里面,它们分别是foreach、map、filter、some、every。

 

1,forEach

forEach类似于普通的for循环,只是单纯的遍历数组元素,不会改变原数组也不会生成新的数组。

let arr=[1,3,5,false,true];
arr.forEach((val,index,arrs)=>{
  console.log(val,index,arrs);
});

优点:写法更加简洁

缺点:缺点是不能使用break退出循环或者使用continue结束当前循环继续新迭代

2,map

主要作用做数据映射,不会改变原数组,会生成新的数组

 

let arr=[{name:'zhang',age:21},{name:'li',age:25},{name:'wang',age:45}];
let narr=arr.map((val,index,arrs)=>{
  var obj={};
  obj.n=val.name;
  obj.a=val.age;
  return obj
});
console.log(narr);//[{"n":"zhang","a":21},{"n":"li","a":25},{"n":"wang","a":45}]

 

通过实例可以发现,使用数组实例的map函数,在实际工作当中,对于后台返回的数据字段要进行修改时,非常有用。

 

 3,filter

筛选符合条件的数据,不会修改原数组,返回新的数组。

let phone = ['荣耀','vivo','三星','华为','锤子','苹果','小米','锤子']
let result = phone.filter((el,index,arr) => {
  return arr.indexOf(el) == index
})
console.log(result)//["荣耀", "vivo", "三星", "华为", "锤子", "苹果", "小米"]

 

巧妙的使用可以进行数组去重

 

 

 4,find

筛选数组中第一个符合条件的数据

 

let arr=[{name:'zhang',age:21},{name:'li',age:25},{name:'wang',age:45}];
let data=arr.find((val,index,arrs)=>{
  return val.age>23
});
console.log(data);//{"name":"li","age":25}
 

 

5,some

有任何数据满足条件就返回true,所有数据都不满足条件则返回false

 

有数据符合条件

let arr=[{name:'zhang',age:21},{name:'li',age:25},{name:'wang',age:45}];
let flag=arr.some((val,index,arrs)=>{
  return val.name=='zhang'
});
console.log(flag);//true

 

所有数据都不符合条件

let arr=[{name:'zhang',age:21},{name:'li',age:25},{name:'wang',age:45}];
let flag=arr.some((val,index,arrs)=>{
  return val.name=='yu'
});
console.log(flag);//false

 对比发现只要有数据满足条件就返回true,否则返回false

 

 *every与some相对应【所有数据都满足条件返回true,否则返回false】

 

分享到:
评论

相关推荐

    JavaScript ES5标准中新增的Array方法

    ES5中新增了写数组方法,如下: forEach (js v1.6) map (js v1.6) filter (js v1.6) some (js v1.6) every (js v1.6) indexOf (js v1.6) lastIndexOf (js v1.6) reduce (js v1.8) reduceRight (js v1.8) 1、js中常用...

    带你学习ES5中新增的方法

    文章目录1. ES5中新增了一些方法,可以很方便的操作数组或者字符串,这些方法主要包括以下几个方面2. 数组方法2.1 forEach...迭代遍历方法:forEach()、map()、filter()、some()、every()判断方法:isArray() 2.1 forE

    js代码-es5 实现 some, every 方法

    js代码-es5 实现 some, every 方法

    ES5新增数组的实现方法

    主要介绍了ES5新增数组的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    ES5学习教程之Array对象

    ES5中新增的不少东西,了解之对我们写JavaScript会有不少帮助,下面主要介绍了ES5中的Array对象,需要的朋友们一起来看看吧。 一、创建 Array 对象的语法: new Array(); new Array(size); new Array(element0, ...

    js代码-ES5实现map的方法

    js代码-ES5实现map的方法

    ES6转ES5实例工程

    在这个 WebStrom工程中,ES6会自动转为ES5代码,WebStrom的版本可能要高一点

    jQuery-reduce:ES5 Array.reduce 作为 jQuery 对象方法和 jQuery 函数的实现

    ES5 Array.reduce 方法作为 jQuery 函数的实现,它可以对数组和常规对象进行操作,并且受旧的、不支持 ES5 的浏览器(例如 IE8-)支持 加上一个 jQuery 插件,用于对 jQuery 对象执行数组缩减 示例用法 return prev...

    ES5 ES6中Array对象去除重复项的方法总结

    主要给大家介绍了Array对象去除重复项的相关资料,文中通过示例代码详细介绍了在ES5和ES6中Array对象去除重复项的方法,需要的朋友可以参考借鉴,下面来一起看看吧。

    JS中的forEach、$.each、map方法推荐

    forEach是ECMA5中Array新...Array在ES5新增的方法中,参数都是function类型,默认有传参,forEach方法中的function回调支持3个参数,第1个是遍历的数组内容;第2个是对应的数组索引,第3个是数组本身。 因此,我们有

    js代码-es5 实现 map 方法

    js代码-es5 实现 map 方法

    es5-safe:拓展原生对象,提供ES5规范新增的部分功能

    es5 安全 es5-safe Fork 来自 该模块提供了兼容性垫片,以便遗留 JavaScript 引擎的行为尽可能接近 ES5。 它提供了以下方法: Function . prototype . bind Object . keys Array . isArray Array . prototype . ...

    详解vue-cli+es6引入es5写的js(两种方法)

    本文通过两种方法给大家介绍vue-cli+es6引入es5写的js,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友参考下吧

    详解ES6数组方法find()、findIndex()的总结

    ②ES5新增数组方法(例:map()、indexOf()、filter()等) ③ES6新增字符串扩张方法includes()、startsWith()、endsWith() 1. find() 该方法主要应用于查找第一个符合条件的数组元素,即返回通过测试(函数内判断)的...

    5个数组Array方法: indexOf、filter、forEach、map、reduce使用实例

    ECMAScript5标准发布于2009年12月3日,它带来了一些新的,改善现有的Array数组操作的方法。然而,这些新奇的数组方法并没有真正流行起来的,因为当时市场上缺乏支持ES5的浏览器。 Array “Extras” 没有人怀疑这些...

Global site tag (gtag.js) - Google Analytics