JavaScript数组方法大全(第二篇)

数组方法大全(第二篇)

注意:如有错误欢迎指出,如有雷同纯属巧合,本博客参考书籍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

原文地址:https://www.cnblogs.com/fanzhikang/p/11336994.html

时间: 2024-08-07 12:30:26

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

JavaScript数组方法详解

JavaScript数组方法详解 JavaScript中数组的方法种类众多,在ES3-ES7不同版本时期都有新方法:并且数组的方法还有原型方法和从object继承的方法,这里我们只介绍数组在每个版本中原型上的方法,本文举例介绍了从ES3到ES7几乎所有的数组方法.这大概是最全的数组方法详解了.希望读者能从中有所收获. 一.各版本数组方法一览表 数组方法名 对应版本 功能 原数组是否改变 pop() ES3- 删除最后一位,并返回删除的数据 是 push() ES3- 在最后一位新增一或多个数据,

JavaScript数组方法对比(深度学习数组)

JavaScript数组方法对比 众所周知,JavaScript提供了许多对数组进行改变的方法,但是有些会对原数组进行影响,有些不会.下边就列举出来. 一.新增 影响原数组 array.push()  //向数组的末尾添加一个或更多元素,并返回新的长度. var array =[1,2,3,4,5]; array.push(6); // [1,2,3,4,5,6]; array.unshift() //向数组的开头添加一个或更多元素,并返回新的长度. var array =[1,2,3,4,5]

4个错误使用JavaScript数组方法的案例

译者按: 做一个有追求的工程师,代码不是随便写的! 原文: Here's how you can make better use of JavaScript arrays 译者: Fundebug 为了保证可读性,本文采用意译而非直译.另外,本文版权归原作者所有,翻译仅用于学习. 小编推荐:Fundebug专注于JavaScript.微信小程序.微信小游戏,Node.js和Java线上bug实时监控.真的是一个很好用的bug监控服务,众多大佬公司都在使用. 我保证这是一篇可以快速阅读并吸收的文章

JavaScript数组方法总结

由于最近都在freecodecamp上刷代码,运用了很多JavaScript数组的方法,因此做了一份关于JavaScript教程的整理,具体内容如下: 一.普通方法 1.join() 将数组元素连接在一起,并以字符串形式返回参数:可选,指定元素之间的分隔符,没有参数则默认为逗号返回值:字符串对原数组的影响:无2.reverse()将数组的元素顺序变成倒序返回参数:无返回值:数组对原数组的影响:原数组被修改为倒序排列之后的数组3.sort()对数组元素进行排序并返回参数:可选,排序的方法函数,没有

JavaScript - 数组方法应用

数组方法应用 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

数组方法大全

数组的方法很多,ECMScript5又提供了好几种方法.有空把之前的云上的笔记整理了一下,方便自己以后查找使用. 一.ECMScript 3的Array.prototype中定义的方法 1.join()定义:将数组中所有的元素都转化为字符串拼接在一起,返回最后生成的字符串.注意:不改变原数组 var a = [1,2,3]; console.log(a.join()); //1,2,3 默认使用逗号分隔 console.log(a.join("")); //123 转化为字符串的常用方

javascript数组方法

javascript有许多数组方法,今天整理了一下: var a=[1,2,3]; a.join();//将数组中所有元素都转化为字符串并连接在一起,参数作为分隔符. a.reverse();//将数组中的元素点到顺序,返回逆序数组. a.sort();//将数组中的元素排序并返回排序后的数组. a.concat();//创建并返回一个新数组,其中返回数组包括a中元素和参数. a.slice();//方法返回制定数组的一个片段或子数组,通过下标作为参数截取. a.splice();//在数组中插

JavaScript数组方法的兼容性写法 汇总:indexOf()、forEach()、map()、filter()、some()、every()

ECMA Script5中数组方法如indexOf().forEach().map().filter().some()并不支持IE6-8,但是国内依然有一大部分用户使用IE6-8,而以上数组方法又确实非常好用.在过去,我会为了兼容性尽量不用这些方法.但是,总不能为了旧的丢了新的吧?!虽然说jQuery已经集成好了不少语法糖,但jQuery体积太庞大,作为一名志于体面的前端儿得知道原生的兼容性写法要怎么写.于是这几天,我开始在琢磨这些方法的兼容性写法.其实并不难,就是以前不够自信不敢写.写完以后,

JavaScript数组方法--reduce、reduceRIght、reverse

今天写的reduce是比较复杂的一个数组方法,其实在这之前我也用过reduce,可是每次用起来总感觉不那么顺手,主要还是因为不熟,对reduce本身不熟.首先reduce这个单词翻译为中文,不那么直观,再加上他的示例比较简单,导致用在复杂情况下,就有点懵逼的感觉.通过自己的理解,我们重构一次,可能更能够方便理解! reduce:reduce() 方法对数组中的每个元素执行一个由您提供的reducer函数(升序执行),将其结果汇总为单个返回值.看到MDN给的这句解释,可能就懵了!什么叫reduce