`
yuyongkun4519
  • 浏览: 44629 次
  • 性别: 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新增数组的实现方法

    在ES5中,数组的实例方法也得到了丰富,其中最常用的包括map()、forEach()、filter()和reduce()。 map()方法会创建一个新数组,其内容是调用数组中的每个元素执行提供的函数后返回的结果。例如,要将数组中的每个...

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

    其中,`some`和`every`方法是数组对象上的两个非常实用的方法,用于判断数组中的元素是否满足特定条件。这两个方法在处理数据集合时提供了强大的逻辑判断能力。下面将详细阐述它们的工作原理和实现方式。 `some`...

    ES6转ES5实例工程

    7. **剩余参数**与**扩展运算符**:`...rest`用于收集剩余参数,`...array`用于扩展数组,这两个在ES5中需要使用数组的`slice()`方法或`apply()`函数来模拟。 8. **Promise**:ES6的异步编程解决方案,需要转换为回...

    js代码-ES5实现map的方法

    然而,在ES5时代,我们并没有内置的`Map`对象,因此需要通过一些技巧来模拟这个功能。本篇将探讨如何在ES5环境下使用JavaScript代码实现`Map`的功能。 首先,让我们创建一个基础的`Map`构造函数: ```javascript ...

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

    ES5 和 ES6 中 Array 对象去除重复项的方法总结 Array 对象去除重复项是 JavaScript 中的一种常见操作,对于开发者来说尤为重要。下面,我们将总结在 ES5 和 ES6 中 Array 对象去除重复项的方法,並对其进行详细的...

    Es5.rar_es5

    3. **数组新方法**:添加了`forEach`, `map`, `filter`, `reduce`, `every`, 和 `some`等方法,这些方法方便了数组操作,使得函数式编程风格在JavaScript中更加得心应手。 4. **对象新方法**:`Object.keys()`返回...

    es5-shim.js

    2. **数组方法**:ES5引入了`Array.prototype.forEach`, `Array.prototype.map`, `Array.prototype.filter`, `Array.prototype.reduce`, `Array.prototype.some` 和 `Array.prototype.every`等方法,这些在`es5-shim...

    带你学习ES5中新增的方法

    ES5在数组操作上提供了强大的工具,如`forEach`用于迭代,`map`用于转换,`filter`用于筛选,`some`和`every`用于条件判断,以及`isArray`用于类型检查。这些方法大大提升了JavaScript处理数据的效率和灵活性,让...

    ES5学习教程之Array对象

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

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

    在开始介绍具体方法之前,先简要回顾一下Vue-cli和ES6的基础知识,以及为何需要引入第三方ES5的JavaScript库。 Vue-cli是一个基于Vue.js进行快速开发的完整系统,它提供了一个官方的脚手架工具,帮助开发者快速搭建...

    es5-shim-master.zip

    1. **数组扩展**: 包括`forEach`、`map`、`filter`、`some`、`every`、`reduce`、`reduceRight`等方法,这些都是ES5中新增的数组迭代方法,对于数据处理非常有用。 2. **对象扩展**: 提供了`Object.create`用于创建...

    js代码-es5 实现 map 方法

    在JavaScript的世界里,`Array.prototype.map()`方法是一个非常重要的功能,它允许我们遍历数组中的每个元素,并根据提供的函数返回新的数组,而不会改变原始数组。这个方法在ES5中被引入,对于处理数据和创建新数组...

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

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

    前端项目-es5-shim.zip

    1. **Array.prototype**: 提供了如forEach、every、some、map、filter、reduce、reduceRight等方法。 2. **Object**: 添加了Object.keys、Object.create、Object.getPrototypeOf等方法。 3. **Function.prototype....

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

    这里我们将详细探讨其中五个常用且实用的方法:`indexOf`、`filter`、`forEach`、`map` 和 `reduce`。 1) `indexOf` `indexOf()` 方法用于查找指定元素在数组中的索引,如果找到则返回该元素的第一个出现位置,否则...

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

    在JavaScript中,数组遍历是常见的操作,有多种方法可以实现这一目的,其中包括`forEach`、`$.each`(jQuery库中的方法)以及`map`。这些方法在处理数组时各有特点,适用于不同的场景。 首先,`forEach`是...

Global site tag (gtag.js) - Google Analytics