1、区别说明

共同点:

不会对原数组发生修改,而是返回新的变量,用变量接收。

不同点:

1、some():返回一个Boolean类型变量,判断是否有元素符合func条件

2、every():返回一个Boolean类型变量,判断每个元素是否都符合func条件

3、filter():返回一个新数组类型变量,数组符合func条件,新数组中的元素来源于原数组,新数组长度<=原数组长度

4、map():返回一个新数组类型变量,新数组元素由每一次调用函数产生结果组成,新数组中的元素与原数组可完全不一样

5、forEach():用法和map()相似,但是forEach()方法不返回值,forEach无法中断执行,如果需要中断需要改用for

2、用法实例

some()实例

如果fun只有一个参数,那么参数是element。

var arr = [1, 2, 3, 4, 5];
var result=arr.some(function (elem, index, arr) {
return elem >= 3;
});
//result: true

every()实例

如果fun只有一个参数,那么参数是element。

var arr = [1, 2, 3, 4, 5];
var result=arr.every(function (elem, index, arr) {
return elem >= 3;
});
// result:false

filter()实例

如果fun只有一个参数,那么参数是element。

var arr=[1, 2, 3, 4, 5]
var result=arr.filter(function (elem, index, arr) {
return index % 2 === 0;
});
// [1, 3, 5]

可接收第二个参数,主要用于解决this的问题,但是用箭头函数可以规避这个问题

var obj = { MAX: 3 };
var myFilter = function (item) {
if (item > this.MAX) return true;
};
var arr = [2, 8, 3, 4, 1, 3, 2, 9];
arr.filter(myFilter, obj) // [8, 4, 9]

map()实例

如果fun只有一个参数,那么参数是element。

var arr=[1, 2, 3]
var result=arr.map(function(elem, index, arr) {
return elem * index;
});
// [0, 2, 6]

forEach()实例

如果fun只有一个参数,那么参数是element。

function log(element, index, array) {
console.log('[' + index + '] = ' + element);
} [2, 5, 9].forEach(log);
// [0] = 2
// [1] = 5
// [2] = 9

可接收第二个参数,主要用于解决this的问题,但是用箭头函数可以规避这个问题

var out = [];
[1, 2, 3].forEach(function(elem) {
this.push(elem * elem);
}, out);
out // [1, 4, 9]

JavaScript中对数组.map()、some()、every()、filter()、forEach的区别的更多相关文章

  1. JavaScript中的数组详解

    JavaScript中的数组 一.数组的定义 数组是值的有序集合,或者说数组都是数据的有序列表. 二.创建数组 [字面量形式] 1.空数组 var arr=[]; 2.带有元素的数组 var arr= ...

  2. JavaScript中Array(数组) 对象

    JavaScript中Array 对象 JavaScript中创建数组有两种方式 (一)使用直接量表示法: var arr4 = []; //创建一个空数组var arr5 = [20]; // 创建 ...

  3. 前端开发:Javascript中的数组,常用方法解析

    前端开发:Javascript中的数组,常用方法解析 前言 Array是Javascript构成的一个重要的部分,它可以用来存储字符串.对象.函数.Number,它是非常强大的.因此深入了解Array ...

  4. Javascript中判断数组的正确姿势

    在 Javascript 中,如何判断一个变量是否是数组? 最好的方式是用 ES5 提供的 Array.isArray() 方法(毕竟原生的才是最屌的): var a = [0, 1, 2]; con ...

  5. javascript中的数组扩展(一)

     javascript中的数组扩展(一) 随着学习的深入,发现需要学习的关于数组的内容也越来越多,后面将会慢慢归纳,有的是对前面的强化,有些则是关于前面的补充. 一.数组的本质    数组是按照次序排 ...

  6. JavaScript中对数组的操作

    原文:JavaScript中对数组的操作 一:数组的使用 1.定义:JavaScript中对数组的定义有两种形式.如: .var arr = [12,3,5,8]; .var arr = new Ar ...

  7. JavaScript中对数组和数组API的认识

    JavaScript中对数组和数组API的认识 一.数组概念: 数组是JavaScript中的一类特殊的对象,用一对中括号“[]”表示,用来在单个的变量中存储多个值.在数组中,每个值都有一个对应的不重 ...

  8. JavaScript中的数组和字符串

    知识内容: 1.JavaScript中的数组 2.JavaScript中的字符串 一.JavaScript中的数组 1.JavaScript中的数组是什么 数组指的是数据的有序列表,每种语言基本上都有 ...

  9. JavaScript中的数组创建

    JavaScript中的数组创建 数组是一个包含了对象或原始类型的有序集合.很难想象一个不使用数组的程序会是什么样. 以下是几种操作数组的方式: 初始化数组并设置初始值 通过索引访问数组元素 添加新元 ...

  10. JavaScript中一个对象数组按照另一个数组排序

    JavaScript中一个对象数组按照另一个数组排序 需求:排序 const arr1 = [33, 11, 55, 22, 66]; const arr2 = [{age: 55}, {age: 2 ...

随机推荐

  1. Nacos 服务发现,注册及管理

    Nacos Nacos(官网: https://nacos.io) 发现,注册及管理. Nacos 支持发现,配置及管理几乎所有类型的服务: Kubernetes Service gRPC | Dub ...

  2. #前缀和,后缀和#洛谷 4280 [AHOI2008]逆序对

    题目传送门 分析 首先填的数字单调不降,感性理解 那可以维护\([a_1\sim a_{i-1}]\)的\(cnt\)后缀和以及 \([a_{i+1}\sim a_n]\)的\(cnt\)前缀和,那可 ...

  3. 使用OHOS SDK构建mimalloc

    参照OHOS IDE和SDK的安装方法配置好开发环境. 从github下载源码. 执行如下命令: git clone https://github.com/microsoft/mimalloc.git ...

  4. 使用OHOS SDK构建freetype

    参照OHOS IDE和SDK的安装方法配置好开发环境. 从github下载源码. 执行如下命令: git clone https://github.com/freetype/freetype.git ...

  5. C# 布尔值和条件语句:入门指南和实用示例

    C# 布尔值 在编程中,通常需要一个只能有两个值之一的数据类型,比如: 是 / 否 开 / 关 真 / 假 为此,C# 有一个 bool 数据类型,可以取 true 或 false 的值. 布尔值 使 ...

  6. Python 安装与快速入门

    Python安装 许多PC和Mac已经预装了Python. 要检查在Windows PC上是否安装了Python,请在开始菜单中搜索Python,或在命令行(cmd.exe)上运行以下命令: C:\U ...

  7. 通过 API 快速创建 AlertManager silence

    概述 通常我们要 silence 某个 AlertManager 的 alert 时,需要通过 UI 界面操作,如下图: 效率有点低,而且不够自动化,那么是否可以有一种办法快速创建 AlertMana ...

  8. HDC2021技术分论坛:ArkUI 3.0让多设备开发更简单!

    作者:wanglei,华为UI编程框架技术专家 HarmonyOS自诞生以来,就是为满足分布式多设备应用场景而设计的,大到智慧屏.车机.平板,小到手机.手表.在多设备场景下进行应用UI界面开发,面临新 ...

  9. SEO — 搜索引擎优化

    一.多词排名标题设置 SEO(Search Engine Optimization)是指搜索引擎优化,即利用搜索引擎的规则提高网站在有关搜索引擎内的自然排名 优化目的是:让网站在搜索引擎上的曝光率达到 ...

  10. 推荐一个页面引导库 driver.js

    页面引导功能是 web 开发中常见的一个功能.通过页面引导功能,你可以让用户第一时间熟悉你的页面功能.今天给大家推荐一个页面引导库 driver.js. 简介 driver.js 是一款用原生 js ...