数组方法大全(第二篇)

注意:如有错误欢迎指出,如有雷同纯属巧合,本博客参考书籍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. LiteIDE TARGETARGS -conf_path=E:/PokerServer/src/GameServer/conf/texas.xml -log_dir=E:/PokerServer/src/GameServer/main/log

    LiteIDE TARGETARGS -conf_path=E:/PokerServer/src/GameServer/conf/texas.xml -log_dir=E:/PokerServer/s ...

  2. C#3.0新增功能05 分部方法

    连载目录    [已更新最新开发文章,点击查看详细]    分部类或结构可以包含分部方法. 类的一个部分包含方法的签名. 可以在同一部分或另一个部分中定义可选实现. 如果未提供该实现,则会在编译时删除 ...

  3. 初始Spring 文档 完整版

    初始Spring 1.Spring官网 spring.io 01. IOC(Inverse of Control)控制反转 02. AOP(Aspect Oritend Programming)面向切 ...

  4. php之布尔类型判断

    字符串只要不为空且不为0都为true 执行结果为 执行结果为false 因为===不仅比较值,还比较类型,所以输出为false.如果使用===号比较,最好先将变量强转为bool类型,不然可能得不到想要 ...

  5. spring cloud eureka + feign,api远程调用

    网上教程不少,有些就是复制粘贴,不结合实际生产. eureka不再阐述. 一般正常开发会有多个工程,且多个module. 我的习惯是: eureka server.权限.config.gateway ...

  6. 【Python-django后端开发】logging日制配置详解!!!

    官方文档请查看:https://docs.djangoproject.com/en/1.11/topics/logging/ 1. 配置工程日志,在setting.py里,如下 LOGGING = { ...

  7. Go“一个包含nil指针的接口不是nil接口”踩坑

    最近在项目中踩了一个深坑--"Golang中一个包含nil指针的接口不是nil接口",总结下分享出来,如果你不是很理解这句话,那推荐认真看下下面的示例代码,避免以后写代码时踩坑. ...

  8. 2、大型项目的接口自动化实践记录--接口测试简介及RequestsLibrary关键字简介

    1.接口测试简介 1)先简单介绍下接口测试,那么什么是接口测试呢? 百科的回答:接口测试是测试系统组件间接口的一种测试.接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点. 看起来有 ...

  9. ImageView 使用详解

    极力推荐文章:欢迎收藏 Android 干货分享 阅读五分钟,每日十点,和您一起终身学习,这里是程序员Android 本篇文章主要介绍 Android 开发中的部分知识点,通过阅读本篇文章,您将收获以 ...

  10. 自定义ItemToggleView

    极力推荐文章:欢迎收藏 Android 干货分享 阅读五分钟,每日十点,和您一起终身学习,这里是程序员Android 本篇文章主要介绍 Android 开发中的部分知识点,通过阅读本篇文章,您将收获以 ...