JS遍历数组的方法


前言

我个人而言数组的遍历方法是常用到的,每次用我都现搜,所以还是自己整理一下吧。若有术语不当之处,欢迎指出。

概述

我主要列出的是封装好的数组遍历方法,包括forEach、map、filter、every、some、reduce、find、findIndex。

二、正文

forEach

forEach()无返回值,对原数组无影响,仅遍历整个数组。
代码如下(示例):

	let arr = ['a','b','c','d','e']
	let b = a.forEach((item,index)=>{
  	console.log(item,index)
	})
	//b => undefined
	/*
	output
	a 0
	b 1
	c 2
	d 3
	e 4
	*/

2.map

map()有返回值,可以使用return来决定该数组元素项要返回的值,如果不使用return返回,那么这一项就是undefined.
代码如下(示例):

	let arr = ['a','b','c','d','e']
	let b = arr.map((item,index)=>{
  	if(item == 'a'){
    	return item
  	}
	})
	// b => ["a", undefined, undefined, undefined, undefined]

filter

filter()筛选函数,有返回值,若该项符合条件,则返回该元素项,反之不返回。

	let arr = ['a','b','c','d','e']
	let b = arr.filter((item,index)=>{
 	 return item >= 'b'
	})
	// b => ["b", "c", "d", "e"]

every

every()函数,有返回值,返回true/false;该函数判断是否每一项都符合条件,如果是则返回true,反之false。

	let arr = ['a','b','c','d','e']
	let b = arr.every((item,index)=>{
  	return item >= 'b'
	}) 
	// b => false

some

some()函数,有返回值,返回true/false;该函数判度是否存在一项符合条件,如果是则为true,反之为false。

	let arr = ['a','b','c','d','e']
    let b = arr.some((item,index)=>{
      return item >= 'b'
    }) 
    //b => true

reduce

reduce()函数,累加器,可以对整个数组进行累加,它的参数是一个函数,这个函数的四个参数分别是初始值,或者说是每一次累加后的和、这一项、当前项索引、当前数组。

    let arr = ['a','b','c','d','e']
    let b = arr.reduce((total,item,index,arr)=>{
      console.log(total)
      return total + item 
    })
    // b => "abcde"
    /*
    output:
	a
	ab
	abc
	abcd
	*/ 

find

find()方法,返回符合条件的第一个值,否则返回undefined。

    let arr = ['a','b','c','d','e']
    let b = arr.find((item)=>{
      return item > 'b'
    })
    // b => "c"

findIndex

findIndex()方法,有返回值,返回第一个符合条件的元素的索引,若不存在,则返回-1。一旦有一项符合条件,不再遍历剩余元素。

    let arr = ['a','b','c','d','e']
    let b = arr.findIndex((item)=>{
      console.log(item)
      return item > 'b'
    })
    // b => 2
    /*
    output:
    a
    b
    c
	*/ 

总结

祝大家头发多多,赚钱多多,技术登峰造极,生活幸福美满。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值