数组方法大全(第二篇)

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

forEach()方法

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

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

map()方法

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

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

filter()方法

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

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

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

every()方法

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

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

some()方法

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

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

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

reduce()方法

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

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

reduceRight()方法

详情请戳这里

indexOf()方法、lastIndexOf()方法

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

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

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

var arr = [1,2,3,4,2,4];
var a = arr.indexOf(2);
console.log(a); ==>输出1
console.log(arr); ==>输出[1,2,3,4,2,4] var b = arr.lastIndexOf(2);
console.log(b); ==>输出4
console.log(arr); ==>输出[1,2,3,4,2,4] var c = arr.lastIndexOf(2,-3);
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. javascript案例之放大镜效果

    效果图 如何实现该效果呢??   我们先来进行分析 实现思路 1.鼠标移入移出事件 1>移入:悬浮块和大图显示 2>移出:悬浮块和大图隐藏 2.鼠标移动(悬浮块随着鼠标移动) 1>获 ...

  2. python注释-输入输出-基本数据类型-运算符

    python注释 用处:注释用来书写一些解释性信息,对代码的逻辑作用等作出描述 单行注释.多行注释 # 这是行注释,注释内容与# 之间要空一格 print("hello world!&quo ...

  3. 在windows中使用 nvm 实现node多版本管理

    所谓 NVM 就是 Node Version Manager 的缩写,即 node的版本管理工具,我们可以在电脑中安装多个不同版本的node,并借由 NVM 来实现自由切换,详情可点击查看 NVM 官 ...

  4. Java初中级程序员面试题宝典

    Java基础部分 &与&&区别? &和&&都是逻辑运算符,都是判断两边同时真则为真,否则为假:但是&&当第一个条件不成之后,后面的条件都 ...

  5. 02-Kubenetes资源

    目录 Kubenetes资源 常用资源对象 标签labels 创建资源的方式 Pod pods.spec.containers 必须 nodeSelector <map [string]stri ...

  6. ERROR 临时

    ERROR ITMS-4238: "Redundant Binary Upload. There already exists a binary upload with build vers ...

  7. X-Admin&ABP框架开发-系统日志

    网站正常运行中有时出现异常在所难免,查看系统运行日志分析问题并能够根据错误信息快速解决问题尤为重要,ABP对于系统运行日志这块已经做了很好的处理,默认采用的Log4Net已经足够满足开发过程中的需要了 ...

  8. HttpClientFactory 使用说明 及 对 HttpClient 的回顾和对比

    目录 HttpClient 日常使用及坑点: HttpClientFactory 优势: HttpClientFactory 使用方法: 实战用法1:常规用法 1. 在 Startup.cs 中进行注 ...

  9. 如何选择合适的SSL证书类型

    网站安装SSL证书就可以将http升级为https加密模式,网站安装SSL证书因此成为一种趋势.如何为网站选择适合的SSL证书类型呢? SSL证书类型可分为2大类:1)按照验证方式分类2)按照支持域名 ...

  10. 按需制作最小的本地yum源

    [需求背景] 有时候客户的环境里面只能离线安装文件,此时可以使用CentOS的ISO光盘作为本地源进行安装,或者是制作一个包含了YUM源服务的虚拟机. 无论上面的哪一种方式都不够轻量,我们自己的组件可 ...