广告
返回顶部
首页 > 资讯 > 前端开发 > VUE >JavaScript中数组常用的迭代处理方法有哪些
  • 851
分享到

JavaScript中数组常用的迭代处理方法有哪些

2024-04-02 19:04:59 851人浏览 薄情痞子
摘要

这篇文章主要介绍“javascript中数组常用的迭代处理方法有哪些”,在日常操作中,相信很多人在JavaScript中数组常用的迭代处理方法有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方

这篇文章主要介绍“javascript数组常用的迭代处理方法有哪些”,在日常操作中,相信很多人在JavaScript中数组常用的迭代处理方法有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”JavaScript中数组常用的迭代处理方法有哪些”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

JavaScript中数组常用的迭代处理方法有哪些

1.map()方法

1.1应用场景:利用某种规则映射一个新的数组(遍历数组中每一个元素,并对每一个元素做对应的处理,返回一个新的数组)

例如:将数组中的每一个元素+1

 let arr = [10, 20, 30, 40, 50]
 //item数组每一项的值,index数组的下标
 let newArr = arr.map((item, index) => {
      return item + 1
    })
    console.log(newArr)//[11, 21, 31, 41, 51]

1.2注意点:

(1).回调函数的执行次数等于数组长度

(2).map函数返回的新数组长度等于原数组长度

(3).回调函数中一定要return,返回的是当前遍历的元素值,如果不return,新数组的每一个元素都是undefined

2.forEach()方法

2.1应用场景:用于遍历数组,相当于for循环的另一种写法

 let arr = [10, 20, 30, 40, 50]
    arr.forEach((item, index) => {
      console.log(`下标为${index}的元素是${item}`)
    })
 //控制台打印结果
 //下标为0的元素是10
 //下标为1的元素是20
 //下标为2的元素是30
 //下标为3的元素是40
 //下标为4的元素是50

2.2注意点:

(1).回调函数的执行次数等于数组长度

(2).forEach函数没有返回值

(3).回调函数不需要return,就算手动return,也不会结束循环

3.filter()方法

3.1应用场景:用于筛选数组中满足条件的元素,返回筛选后的新数组

例如:找出数组中的偶数

 let arr = [1, 2, 3, 4, 5, 6, 7, 8]
 let newArr = arr.filter((item, index) => {
 	//return一个布尔值
      return item % 2 == 0
    })
    console.log(newArr)//[2,4,6,8]

3.2注意点:

(1).回调函数的执行次数等于数组长度

(2).filter函数返回的新数组长度不等于原数组长度

(3).回调函数一定要return一个布尔值,如果return的值为true,当前遍历的元素就会添加到新数组中,如果return的值为false,则不会添加到新数组中

4.some()方法

4.1应用场景:用于判断数组中是否存在满足条件的元素

例如:判断数组中是否存在大于100的数(存在,返回值为true,不存在,返回值为false)

let arr = [10, 50, 150, 200, 60, 30]
let bol = arr.some((item, index) => {
      return item > 100
    })
    console.log(bol)//true

4.2注意点:

(1).回调函数的执行次数不等于数组长度

(2).some函数的返回值是一个布尔值

(3).回调函数返回布尔类型值用于结束遍历,如果return的值为true,则遍历结束,且some函数的返回值为false,如果return的值为false,则继续遍历,且some函数的返回值为false

5.every()方法

5.1应用场景:用于判断数组中是否所有元素都满足条件(开关思想),与some()方法功能相似,可以对比理解

例如:判断数组中是否所有元素都大于100(都大于100,返回值为true,只要有一个元素小于100,则返回值为false)

let arr = [10, 50, 150, 200, 60, 30]
let bol = arr.every((item, index) => {
      return item > 100
    })
    console.log(bol)//false

5.2注意点:

(1).回调函数的执行次数不等于数组长度

(2).every函数的返回值是一个布尔值

(3).回调函数返回布尔类型值用于结束遍历,如果return的值为true,则遍历继续,且every函数的返回值为true,如果return的值为false,则继续结束,且every函数的返回值为false

6.findIndex()方法

6.1应用场景:适用于数组中元素为对象类型,比传统的for循环要高效

6.2作用:获取符合条件的第一个元素位置(下标)

let arr = [
            { name: '张三', age: 20 },
            { name: '李四', age: 30 },
            { name: '王五', age: 25 },
            { name: '赵六', age: 33 },
            { name: '小七', age: 10 },
        ];
 let i=arr.findIndex((item,index)=>{
	return item.age>30
})
//打印的i为符合条件的第一个元素下标
console.log(i)//3

6.2注意点:

(1).如果return的值为true,则遍历结束,findIndex方法返回值为当前的index值;如果return的值为false,则遍历继续,如果数组全部遍历完还是没有返回true,则findIndex方法返回值为-1

7.reduce()方法

7.1应用场景:数组求和/平均值/最大值/最小值

7.2作用:遍历数组元素,为每一个元素执行一次回调函数

//数组求和
let arr = [10, 20, 30, 40]
//sum:初始值,默认为数组的第一个元素
//item:数组的每一个元素,默认为数组的第二个元素
let getSum = arr.reduce((sum, item) => {
 //这里必须要return,相当于把本次计算得结果赋值给下一次得sum : sum = sum + item;
      return sum + item
    })
    console.log(getSum)//100

7.2注意点:

(1).最好给一个初始值,避免空数组报错

//数组求和
let arr = [10, 20, 30, 40]
//加了初始值0之后,此时sum开始默认为0,item则默认为数组的第一个元素
let getSum = arr.reduce((sum, item) => {
 //这里必须要return,相当于把本次计算得结果赋值给下一次得sum : sum = sum + item;
      return sum + item
    },0)
    console.log(getSum)//100

//数组求最大值
 let max = arr.reduce((sum, item) => {
      return Math.max(sum, item)
    }, 0)
    console.log(max)//40

这里特别注意的是,每一轮的sum值是上一轮的返回值

8.总结

JavaScript中数组常用的迭代处理方法有哪些

扩展示例:

arr.reduce(function(sum,value,index,arr){}) 方法

reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。

reduce() 可以作为一个高阶函数,用于函数的 compose。

注意: reduce() 对于空数组是不会执行回调函数的。

参数详情
sum第一个参数第一次为数组的第一个数组元素的值(下标为0),依次往后是返回计算结果的值
value 第二个参数开始为数组元素第二个的值(下标为1),依次往后循环
index第三个参数依次为数组元素的下标
arr第四个参数为数组的整体
initialValue为第一参数的默认值,设置的话,第一个参数的默认值为initialValue的值,则 第二个参数则将使用数组第一个元素(下标为0 ),没有设置的话,第一个参数将使用数组第一个元素,而 第二个参数 将使用数组第二个元素。
function sum(arr){
    return arr.reduce(function(sum,value,index,arr){
    	console.log(sum);
        console.log(value);
        console.log(index);
        console.log("~~")
        console.log(arr)
        return sum+y    },initialValue)}console.log(sum([1,2,3,4,5]))

arr.every(function(value,index,arr){})

every() 方法用于检测数组所有元素是否都符合指定条件(通过函数提供)。
every() 方法使用指定函数检测数组中的所有元素:
如果数组中检测到有一个元素不满足,则整个表达式返回 false ,且剩余的元素不会再进行检测。
如果所有元素都满足条件,则返回 true。
注意: every() 不会对空数组进行检测。
注意: every() 不会改变原始数组。
参数详情
value数组元素
index数组下标
arr当前数组的整体
function sum(arr){
    return arr.every(function(value,index,arr){
        console.log(value);
        console.log(index);
        console.log("~~")
        return value>=1
    })}console.log(sum([1,2,3,4,5]))

arr.some(function(value,index,arr){})

some() 方法用于检测数组中的元素是否满足指定条件(函数提供)。
some() 方法会依次执行数组的每个元素:
如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测。
如果没有满足条件的元素,则返回false。
注意: some() 不会对空数组进行检测。
注意: some() 不会改变原始数组。
参数详情
value数组元素
index数组下标
arr当前数组的整体
function sum(arr){
    return arr.some(function(value,index,arr){
        console.log(value);
        console.log(index);
        console.log("~~")
        return value>=1
    })}console.log(sum([1,2,3,4,5]))

arr.filter(function(value,index,arr){})

filter()方法过滤查找全部,对数组元素进行判断,满足条件的会组成一个新的数组返回
注意:如果都不符合条件,会得到一个空数组
注意:如果所有元素都符合条件,会得到一个包含所有元素的新数组它与原数组进行===或==比较会得到false
参数详情
value数组元素
index数组下标
arr当前数组的整体
function sum(arr){
    return arr.filter(function(value,index,arr){
        console.log(value);
        console.log(index);
        console.log("~~")
        return value>=5
    })}console.log(sum([1,2,3,4,5]))

arr.map(function(value,index,arr){})

map对数组元素进行循环,有返回值,返回值会组成一个新的数组
注意:map可以处理一对一的元素映射
参数详情
value数组元素
index数组下标
arr当前数组的整体
const source = [1,2,3,4]const target = source.map(n=>({id:n,label:`label${n}`}))console.log(target)
function sum(arr){
    return arr.map(function(value,index,arr){
        console.log(value);
        console.log(index);
        console.log("~~")
        return value>=1
    })}console.log(sum([1,2,3,4,5]))

arr.forEach(function(value,index,arr){})

forEach()方法对数组元素进行循环,没有返回值和for循环的功能一样,但是不能使用break和countinue
注意:map和forEach的区别:map有返回值,forEach没有返回值
参数详情
value数组元素
index数组下标
arr当前数组的整体
function sum(arr){
    return arr.forEach(function(value,index,arr){
        console.log(value);
        console.log(index);
        console.log("~~")
        return value>=1
    })}console.log(sum([1,2,3,4,5]))

到此,关于“JavaScript中数组常用的迭代处理方法有哪些”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: JavaScript中数组常用的迭代处理方法有哪些

本文链接: https://www.lsjlt.com/news/98456.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • JavaScript中数组常用的迭代处理方法有哪些
    这篇文章主要介绍“JavaScript中数组常用的迭代处理方法有哪些”,在日常操作中,相信很多人在JavaScript中数组常用的迭代处理方法有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方...
    99+
    2022-10-19
  • JavaScript数组有哪些迭代方法
    这篇文章主要介绍了JavaScript数组有哪些迭代方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。ES5为数组定义了5个迭代方法。每种方...
    99+
    2022-10-19
  • es6中迭代数组的方法有哪些
    这篇文章主要介绍了es6中迭代数组的方法有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇es6中迭代数组的方法有哪些文章都会有所收获,下面我们一起来看看吧。迭代方法:1、map,用于根据某种规则映射数组,得...
    99+
    2023-07-04
  • 常用的JavaScript数组方法有哪些
    常用的JavaScript数组方法有:1. push():将一个或多个元素添加到数组的末尾,并返回新数组的长度。2. pop():删...
    99+
    2023-10-12
    JavaScript
  • JavaScript常用的数组方法有哪些
    这篇文章主要讲解了“JavaScript常用的数组方法有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaScript常用的数组方法有哪些”吧!不会...
    99+
    2022-10-19
  • JavaScript数组常用的方法有哪些
    这篇文章主要介绍“JavaScript数组常用的方法有哪些”,在日常操作中,相信很多人在JavaScript数组常用的方法有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”...
    99+
    2022-10-19
  • JavaScript数组有哪些常用方法
    这篇文章主要介绍了JavaScript数组有哪些常用方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1、前言数组方法有太多了,本文记录一些本人容易记错的一些数组方法,用于巩...
    99+
    2023-06-25
  • JavaScript中数组Array的常用方法有哪些
    这篇文章主要为大家展示了“JavaScript中数组Array的常用方法有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“JavaScript中数组Array的常用方法有哪些”这篇文章吧。一....
    99+
    2023-06-25
  • javascript中常见的数组方法有哪些
    小编给大家分享一下javascript中常见的数组方法有哪些,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!javascript数组方法有:concat()、join()、pop()、push()、revers&#...
    99+
    2023-06-14
  • javascript中数组去重常用方法有哪些
    这篇文章将为大家详细讲解有关javascript中数组去重常用方法有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具体如下:数组去除重复值是面试常考内容,也是很容易用...
    99+
    2022-10-19
  • 常用的javascript数组操作方法有哪些
    这篇文章主要介绍“常用的javascript数组操作方法有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“常用的javascript数组操作方法有哪些”文章能帮助...
    99+
    2022-10-19
  • JavaScript数组常见使用方法有哪些
    今天小编给大家分享一下JavaScript数组常见使用方法有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1. push...
    99+
    2023-07-04
  • JavaScript原生数组Array常用方法有哪些
    这篇文章给大家分享的是有关JavaScript原生数组Array常用方法有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。栈方法push方法和pop方法, 可以使数组的行为类似...
    99+
    2022-10-19
  • JavaScript数组合并的常见方法有哪些
    这篇文章主要介绍了JavaScript数组合并的常见方法有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇JavaScript数组合并的常见方法有哪些文章都会有所收获,下面我们一起来看看吧。1.ES6 解构[...
    99+
    2023-07-04
  • java数组中常用方法有哪些
    1. arraycopy方法原型: public static void arraycopy(sourceArray,int index1,copyArray,index2,int length)即从sourceArray的index1位置...
    99+
    2019-02-11
    java 数组 常用方法
  • javascript数组的方法有哪些
    javascript数组的方法有哪些,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。在日常开发中,我们会接触到js中数组的一些方法,这些方法对我们来说,可以很遍历...
    99+
    2023-06-28
  • JavaScript中遍历数组和对象有哪些常用的方法
    这篇文章主要介绍“JavaScript中遍历数组和对象有哪些常用的方法”,在日常操作中,相信很多人在JavaScript中遍历数组和对象有哪些常用的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操...
    99+
    2022-10-19
  • javaScript数组遍历和对稀疏数组处理方法有哪些
    本篇内容介绍了“javaScript数组遍历和对稀疏数组处理方法有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够...
    99+
    2022-10-19
  • js数组的常用方法有哪些
    这篇文章主要介绍了js数组的常用方法有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇js数组的常用方法有哪些文章都会有所收获,下面我们一起来看看吧。 数组的常用方法有下面...
    99+
    2022-10-19
  • vue常用的数组方法有哪些
    今天小编给大家分享一下vue常用的数组方法有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1. join()join(&...
    99+
    2023-07-04
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作