JavaScript数组方法大全(第二篇)
数组方法大全(第二篇)
注意:如有错误欢迎指出,如有雷同纯属巧合,本博客参考书籍JavaScript权威指南,有兴趣的小伙伴可以去翻阅一下哦
forEach()方法
遍历数组,里面可以传递一个方法
var arr = [1,2,3];
arr.forEach(function (item,index,array) {
//item:表示数组中元素的每一项
//index:表示每一项所对应的索引
//array:表示原数组
})
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]
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]
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
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
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]
//假设得到数组当中的每位元素相加的结果,就可以:
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
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数组方法大全(第二篇)的更多相关文章
- JavaScript数组方法大全(推荐)
原网址:http://www.jb51.net/article/87930.htm 数组在笔试中经常会出现的面试题,javascript中的数组与其他语言中的数组有些不同,为了方便之后数组的方法学习, ...
- 一站式超全JavaScript数组方法大全
一站式JavaScript数组方法大全(建议收藏) 方法一览表 详细操作 本人总结了JavaScript中有关数组的几乎所有方法(包含ES6之后新增的),并逐一用代码进行演示使用,希望可以帮助大家! ...
- JavaScript数组方法大全(第一篇)
数组方法大全(第一篇) 注意:第一次写博客有点小紧张,如有错误欢迎指出,如有雷同纯属巧合,本次总结参考书籍JavaScript权威指南,有兴趣的小伙伴可以去翻阅一下哦 join()方法 该方法是将数组 ...
- 【转】JavaScript数组方法大全
数组在笔试题中出现的概率最高的类型之一,JavaScript中的数组与其他语言中的数组有些区别,为了方便以后查看数组的方法,现将对数组的操作方法进行汇总整理. 数组创建 JavaScript中创建数组 ...
- JavaScript数组方法大全
1.两个数组拼接的方法: Array.concat(obj); var array = [1,2,3]; var array2 = [4,5,6]; var arrtotall = array.con ...
- JavaScript数组方法--every、some、fill
接上一篇,JavaScript数组方法--concat.push,继续其他的数组方法. every:every() 方法测试数组的所有元素是否都通过了指定函数的测试. 先看其使用方法: functio ...
- 【译】你应该了解的JavaScript数组方法
让我们来做一个大胆的声明:for循环通常是无用的,而且还导致代码难以理解.当涉及迭代数组.查找元素.或对其排序或者你想到的任何东西,都可能有一个你可以使用的数组方法. 然而,尽管这些方法很有用,但是其 ...
- 转载收藏(js数组方法大全)
js数组方法大全 JavaScript中创建数组有两种方式 (一)使用 Array 构造函数: var arr1 = new Array(); //创建一个空数组var arr2 = new Arra ...
- JavaScript数组方法详解
JavaScript数组方法详解 JavaScript中数组的方法种类众多,在ES3-ES7不同版本时期都有新方法:并且数组的方法还有原型方法和从object继承的方法,这里我们只介绍数组在每个版本中 ...
随机推荐
- Excel催化剂开源第24波-较VBA更强大的.Net环境的正则表达式
在VBA上可以调用正则表达式库,从而编写正则表达式自定义函数,这个相信不少VBA开发者已经熟知,但VBA的VBScript正则表达式库毕竟是一个过时的产品,不像.Net那样是与时俱进的,所以两者实现出 ...
- vscode如何将less编译到指定css目录中
首先使用vscode的搬砖猿,想要在vscode编辑器里面很方便的编译less文件,需要在扩展商店里面下载一款名叫Esay LESS的超好用扩展(我自己都不信),哈哈,其实还好. 安装完扩展之后,最好 ...
- 十五、SQL Server中的事务与锁
(转载别人的内容,值得Mark) 了解事务和锁 事务:保持逻辑数据一致性与可恢复性,必不可少的利器. 锁:多用户访问同一数据库资源时,对访问的先后次序权限管理的一种机制,没有他事务或许将会一塌糊涂,不 ...
- vue系列---vue项目(已安装vuex)中引入jquery
vue项目中引入jquery有很多方法,这只是其中一种. 步骤如下: 1,安装jquery依赖 npm install jquery --save 如果是使用淘宝镜像则将npm改为cnpm 2,修改配 ...
- Codeforces1144D(D题)Equalize Them All
D. Equalize Them All You are given an array aa consisting of nn integers. You can perform the follow ...
- jango简介
Django简介 Django框架简介 MVC框架和MTV框架 MVC,全名是Model View Controller,是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Mode ...
- MYSQL A、B表数组关联查询
最终结果: 数据库表 A表: B表: 操作步骤 主要关键字:FIND_IN_SET.GROUP_CONCAT.LEFT JOIN.GROUP BY 第一步:left join 连接AB表并通过 fin ...
- ioc和aop的区别
IoC,(Inverse of Control)控制反转,其包含两个内容:其一是控制,其二是反转.在程序中,被调用类的选择控制权从调用它的类中移除,转交给第三方裁决.这个第三方指的就是Spring的容 ...
- Javaweb入门 数据库第一天
数据库概述 本菜鸟使用的数据库软件为Mariadb,以下内容都是以Mariadb数据库软件来写的学习总结. 数据库 所谓的数据库就是用于存储.管理数据的仓库,数据库根据底层存储数据结构的不同可以分为很 ...
- 二进制文件安装安装etcd
利用二进制文件安装安装etcd etcd组件作为一个高可用强一致性的服务发现存储仓库. etcd作为一个受到ZooKeeper与doozer启发而催生的项目,除了拥有与之类似的功能外,更专注于以下四点 ...