在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】
相关推荐
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中,数组的实例方法也得到了丰富,其中最常用的包括map()、forEach()、filter()和reduce()。 map()方法会创建一个新数组,其内容是调用数组中的每个元素执行提供的函数后返回的结果。例如,要将数组中的每个...
其中,`some`和`every`方法是数组对象上的两个非常实用的方法,用于判断数组中的元素是否满足特定条件。这两个方法在处理数据集合时提供了强大的逻辑判断能力。下面将详细阐述它们的工作原理和实现方式。 `some`...
7. **剩余参数**与**扩展运算符**:`...rest`用于收集剩余参数,`...array`用于扩展数组,这两个在ES5中需要使用数组的`slice()`方法或`apply()`函数来模拟。 8. **Promise**:ES6的异步编程解决方案,需要转换为回...
然而,在ES5时代,我们并没有内置的`Map`对象,因此需要通过一些技巧来模拟这个功能。本篇将探讨如何在ES5环境下使用JavaScript代码实现`Map`的功能。 首先,让我们创建一个基础的`Map`构造函数: ```javascript ...
ES5 和 ES6 中 Array 对象去除重复项的方法总结 Array 对象去除重复项是 JavaScript 中的一种常见操作,对于开发者来说尤为重要。下面,我们将总结在 ES5 和 ES6 中 Array 对象去除重复项的方法,並对其进行详细的...
3. **数组新方法**:添加了`forEach`, `map`, `filter`, `reduce`, `every`, 和 `some`等方法,这些方法方便了数组操作,使得函数式编程风格在JavaScript中更加得心应手。 4. **对象新方法**:`Object.keys()`返回...
2. **数组方法**:ES5引入了`Array.prototype.forEach`, `Array.prototype.map`, `Array.prototype.filter`, `Array.prototype.reduce`, `Array.prototype.some` 和 `Array.prototype.every`等方法,这些在`es5-shim...
ES5在数组操作上提供了强大的工具,如`forEach`用于迭代,`map`用于转换,`filter`用于筛选,`some`和`every`用于条件判断,以及`isArray`用于类型检查。这些方法大大提升了JavaScript处理数据的效率和灵活性,让...
ES5中新增的不少东西,了解之对我们写JavaScript会有不少帮助,下面主要介绍了ES5中的Array对象,需要的朋友们一起来看看吧。 一、创建 Array 对象的语法: new Array(); new Array(size); new Array(element0, ...
在开始介绍具体方法之前,先简要回顾一下Vue-cli和ES6的基础知识,以及为何需要引入第三方ES5的JavaScript库。 Vue-cli是一个基于Vue.js进行快速开发的完整系统,它提供了一个官方的脚手架工具,帮助开发者快速搭建...
1. **数组扩展**: 包括`forEach`、`map`、`filter`、`some`、`every`、`reduce`、`reduceRight`等方法,这些都是ES5中新增的数组迭代方法,对于数据处理非常有用。 2. **对象扩展**: 提供了`Object.create`用于创建...
在JavaScript的世界里,`Array.prototype.map()`方法是一个非常重要的功能,它允许我们遍历数组中的每个元素,并根据提供的函数返回新的数组,而不会改变原始数组。这个方法在ES5中被引入,对于处理数据和创建新数组...
ES5 Array.reduce 方法作为 jQuery 函数的实现,它可以对数组和常规对象进行操作,并且受旧的、不支持 ES5 的浏览器(例如 IE8-)支持 加上一个 jQuery 插件,用于对 jQuery 对象执行数组缩减 示例用法 return prev...
1. **Array.prototype**: 提供了如forEach、every、some、map、filter、reduce、reduceRight等方法。 2. **Object**: 添加了Object.keys、Object.create、Object.getPrototypeOf等方法。 3. **Function.prototype....
这里我们将详细探讨其中五个常用且实用的方法:`indexOf`、`filter`、`forEach`、`map` 和 `reduce`。 1) `indexOf` `indexOf()` 方法用于查找指定元素在数组中的索引,如果找到则返回该元素的第一个出现位置,否则...
在JavaScript中,数组遍历是常见的操作,有多种方法可以实现这一目的,其中包括`forEach`、`$.each`(jQuery库中的方法)以及`map`。这些方法在处理数组时各有特点,适用于不同的场景。 首先,`forEach`是...