数组方法大全(第二篇)

注意:如有错误欢迎指出,如有雷同纯属巧合,本博客参考书籍JavaScript权威指南,有兴趣的小伙伴可以去翻阅一下哦

forEach()方法

遍历数组,里面可以传递一个方法

  1. var arr = [1,2,3];
  2. arr.forEach(function (item,index,array) {
  3. //item:表示数组中元素的每一项
  4. //index:表示每一项所对应的索引
  5. //array:表示原数组
  6. })

map()方法

将调用数组的每个元素传递给指定的函数,并返回一个新的数组,不会去修改原数组

  1. var arr = [1,2,4,,6];
  2. var a = arr.map(function (item,index,array) {
  3. //item:表示数组中元素的每一项
  4. //index:表示每一项所对应的索引
  5. //array:表示原数组
  6. //得有返回值
  7. return item * 2
  8. })
  9. console.log(a); ==>输出[2,4,8,,12]
  10. console.log(arr); ==>输出[1,2,4,,6]

filter()方法

过滤,传递的函数是用来逻辑判定的,该函数返回true或false,如果返回值为true或者能转化为true的值,那么传递给判定函数的元素就是这个子集的成员,就会加入到返回的数组当中去(可以理解为数组当中的每个元素,只要满足自己设定的条件,就会添加到返回的数组当中去)

不修改原数组返回的是满足设定条件元素所组成的数组

  1. var arr = [1,2,4,5,6];
  2. var a = arr.filter(function (item,index,array) {
  3. //item:表示数组中元素的每一项
  4. //index:表示每一项所对应的索引
  5. //array:表示原数组
  6. //得有return值,不填返回一个空数组
  7. return item < 4;
  8. })
  9. console.log(a); ==>输出[1,2]
  10. console.log(arr); ==>输出[1,2,4,5,6]

every()方法

数组中的每个元素是否满足某个条件,返回值true或false,当有一个不满足条件时就会返回false,当所有元素都满足条件时返回true

  1. var arr = [1,2,3,4];
  2. var a = arr.every(function (item,index,array) {
  3. //item:表示数组中元素的每一项
  4. //index:表示每一项所对应的索引
  5. //array:表示原数组
  6. return item < 5;
  7. })
  8. console.log(a); ==>输出true

some()方法

数组中的元素是否满足某个条件,返回值true或false,当有一个满足条件时就会返回true,当所有元素都不满足条件时返回false

  1. var arr = [1,2,3,4];
  2. var a = arr.some(function (item,index,array) {
  3. //item:表示数组中元素的每一项
  4. //index:表示每一项所对应的索引
  5. //array:表示原数组
  6. return item < 3;
  7. })
  8. console.log(a); ==>输出true

注意:every()和some()的区别:ervery()一假及假,some()一真及真

reduce()方法

它需要传递两个参数,第一个参数是函数,第二个参数(可选)是传递给函数的初始值

  1. //假设得到数组当中的每位元素相加的结果,就可以:
  2. var arr = [1,2,3,[[5]],{}];
  3. var a = arr.reduce(function (x,y,index,array) {
  4. //x:当有初始值时就代表初始值,没有传递初始值时就为数组第一位,当开始计算时,就为上次运算return的结果
  5. //y:当有初始值时代表数组第一位,没有就代表第二位,当开始计算时表示数组当中的元素
  6. //index:表示数组当中当前元素的索引值
  7. //array:数组元素本身
  8. return x + y
  9. },0)
  10. console.log(a); ==>输出 65[object Object]

reduceRight()方法

详情请戳这里

indexOf()方法、lastIndexOf()方法

搜索整个数组中具有给定制的元素,返回找到的第一个元素的索引,如果没有就返回-1

可以传递两个参数,第一个参数表示需要搜索的元素,第二个参数(可选),表示从哪个位置开始搜索,可以是负数表示从数组的倒数第几位开始查找

indexOf()方法从头至尾搜索,而lastIndexOf()则反向搜索

  1. var arr = [1,2,3,4,2,4];
  2. var a = arr.indexOf(2);
  3. console.log(a); ==>输出1
  4. console.log(arr); ==>输出[1,2,3,4,2,4]
  5. var b = arr.lastIndexOf(2);
  6. console.log(b); ==>输出4
  7. console.log(arr); ==>输出[1,2,3,4,2,4]
  8. var c = arr.lastIndexOf(2,-3);
  9. console.log(c); ==>输出1

JavaScript数组方法大全(第二篇)的更多相关文章

  1. JavaScript数组方法大全(推荐)

    原网址:http://www.jb51.net/article/87930.htm 数组在笔试中经常会出现的面试题,javascript中的数组与其他语言中的数组有些不同,为了方便之后数组的方法学习, ...

  2. 一站式超全JavaScript数组方法大全

    一站式JavaScript数组方法大全(建议收藏) 方法一览表 详细操作 本人总结了JavaScript中有关数组的几乎所有方法(包含ES6之后新增的),并逐一用代码进行演示使用,希望可以帮助大家! ...

  3. JavaScript数组方法大全(第一篇)

    数组方法大全(第一篇) 注意:第一次写博客有点小紧张,如有错误欢迎指出,如有雷同纯属巧合,本次总结参考书籍JavaScript权威指南,有兴趣的小伙伴可以去翻阅一下哦 join()方法 该方法是将数组 ...

  4. 【转】JavaScript数组方法大全

    数组在笔试题中出现的概率最高的类型之一,JavaScript中的数组与其他语言中的数组有些区别,为了方便以后查看数组的方法,现将对数组的操作方法进行汇总整理. 数组创建 JavaScript中创建数组 ...

  5. JavaScript数组方法大全

    1.两个数组拼接的方法: Array.concat(obj); var array = [1,2,3]; var array2 = [4,5,6]; var arrtotall = array.con ...

  6. JavaScript数组方法--every、some、fill

    接上一篇,JavaScript数组方法--concat.push,继续其他的数组方法. every:every() 方法测试数组的所有元素是否都通过了指定函数的测试. 先看其使用方法: functio ...

  7. 【译】你应该了解的JavaScript数组方法

    让我们来做一个大胆的声明:for循环通常是无用的,而且还导致代码难以理解.当涉及迭代数组.查找元素.或对其排序或者你想到的任何东西,都可能有一个你可以使用的数组方法. 然而,尽管这些方法很有用,但是其 ...

  8. 转载收藏(js数组方法大全)

    js数组方法大全 JavaScript中创建数组有两种方式 (一)使用 Array 构造函数: var arr1 = new Array(); //创建一个空数组var arr2 = new Arra ...

  9. JavaScript数组方法详解

    JavaScript数组方法详解 JavaScript中数组的方法种类众多,在ES3-ES7不同版本时期都有新方法:并且数组的方法还有原型方法和从object继承的方法,这里我们只介绍数组在每个版本中 ...

随机推荐

  1. Excel催化剂开源第24波-较VBA更强大的.Net环境的正则表达式

    在VBA上可以调用正则表达式库,从而编写正则表达式自定义函数,这个相信不少VBA开发者已经熟知,但VBA的VBScript正则表达式库毕竟是一个过时的产品,不像.Net那样是与时俱进的,所以两者实现出 ...

  2. vscode如何将less编译到指定css目录中

    首先使用vscode的搬砖猿,想要在vscode编辑器里面很方便的编译less文件,需要在扩展商店里面下载一款名叫Esay LESS的超好用扩展(我自己都不信),哈哈,其实还好. 安装完扩展之后,最好 ...

  3. 十五、SQL Server中的事务与锁

    (转载别人的内容,值得Mark) 了解事务和锁 事务:保持逻辑数据一致性与可恢复性,必不可少的利器. 锁:多用户访问同一数据库资源时,对访问的先后次序权限管理的一种机制,没有他事务或许将会一塌糊涂,不 ...

  4. vue系列---vue项目(已安装vuex)中引入jquery

    vue项目中引入jquery有很多方法,这只是其中一种. 步骤如下: 1,安装jquery依赖 npm install jquery --save 如果是使用淘宝镜像则将npm改为cnpm 2,修改配 ...

  5. Codeforces1144D(D题)Equalize Them All

    D. Equalize Them All You are given an array aa consisting of nn integers. You can perform the follow ...

  6. jango简介

    Django简介   Django框架简介 MVC框架和MTV框架 MVC,全名是Model View Controller,是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Mode ...

  7. MYSQL A、B表数组关联查询

    最终结果: 数据库表 A表: B表: 操作步骤 主要关键字:FIND_IN_SET.GROUP_CONCAT.LEFT JOIN.GROUP BY 第一步:left join 连接AB表并通过 fin ...

  8. ioc和aop的区别

    IoC,(Inverse of Control)控制反转,其包含两个内容:其一是控制,其二是反转.在程序中,被调用类的选择控制权从调用它的类中移除,转交给第三方裁决.这个第三方指的就是Spring的容 ...

  9. Javaweb入门 数据库第一天

    数据库概述 本菜鸟使用的数据库软件为Mariadb,以下内容都是以Mariadb数据库软件来写的学习总结. 数据库 所谓的数据库就是用于存储.管理数据的仓库,数据库根据底层存储数据结构的不同可以分为很 ...

  10. 二进制文件安装安装etcd

    利用二进制文件安装安装etcd etcd组件作为一个高可用强一致性的服务发现存储仓库. etcd作为一个受到ZooKeeper与doozer启发而催生的项目,除了拥有与之类似的功能外,更专注于以下四点 ...