数组遍历

数组遍历方法

const colorArr = ['green', 'red', 'blue', 'pink', 'purple', 'gray', 'black', 'white']

for循环

// 循环获取值和下标
for(let i = 0; i < colorArr.length; i++) {
	console.log(`下标:${i} 值:${colorArr[i]}`)
}

forEach遍历

// 遍历值和下标
colorArr.forEach((item, index) => {
	console.log(`下标:${index} 值:${item}`)
})

map遍历----拷贝

// 遍历或拷贝
const bgColor = colorArr.map((item, index) => {
    console.log(`下标:${index} 值:${item}`)
    return `backgroundColor: ${item}`
})
console.log('backgroundColor:', bgColor)

for…of遍历

// 遍历值
for( let value of colorArr) {
    console.log(`值:${index}`)
}

filter遍历----过滤

// 过滤: 排查和排除
const filterArr = colorArr.filter(item => item === 'red')
// const filterArr = colorArr.filter(item => item !== 'red')
console.log('filterArr:', filterArr)// ["red"]

every遍历----验证所有

//验证: 每一项验证为true时为true;没有return返回false。且操作
const everyArr = colorArr.every((item, index) => {
	console.log(`下标:${index} 值:${item}`)
  return typeof item === 'red'
})
console.log('everyArr:', everyArr)// false

some遍历----验证存在

// 验证: 有一项为true时为true。或操作
const someArr = colorArr.every((item, index) => {
	console.log(`下标:${index} 值:${item}`)
  return typeof item === 'red'
})
console.log('someArr:', someArr)// true

find遍历----发现(值)

// 发现:返回第一个满足条件的项的值,只返回一项,满足即停止遍历。没发现返回undefined
const findArr = colorArr.find(item => item === 'red')
console.log('findArr:', findArr)// red

findIndex遍历----发现(下标)

// 发现:返回第一个满足条件的项的下标,只返回一项,满足即停止遍历。没发现返回-1
const findArr = colorArr.find(item => item === 'red')
console.log('findArr:', findArr)// 1

keys,values,entries遍历----ES6

// 遍历下标
for (let index of colorArr.key()) {
  console.log(`下标:${index}`)
}

// 遍历值
for (let value of colorArr.value()) {
  console.log(`值:${value}`)
}

// 遍历下标和值
for (let [index, item] of colorArr.key()) {
  console.log(`下标:${index} 值:${item}`)
}

// 使用next()获取
let arrEntries = colorArr.entries();
let entry = arrEntries.next();
while(!entry.done){
  console.log('[下标,值]数组:', entry.value);
  entry=arrEntries.next();
}

reduce遍历----求和

//  求和:最少传入两个值
const reduceArr = [1, 2, 3].reduce((a, b) => a + b)
//const reduceArr = [1, 2, 3].reduce((4, b) => a + b)
console.log('数组和:' reduceArr) // 6

// 返回数组最大下标
const reduceArr = [1, 2, 3].reduce((a, b, index) => {
  console.log('当前下标:', index)// 0 ,1 , 2
  return index
})
console.log('最大下标:' reduceArr) // 2

// 返回数组本身
const reduceArr = [1, 2, 3].reduce((a, b, index, arr) => {
  return arr
})
console.log('数组本身:' reduceArr)

reduceRight遍历----求和

和reduce方法用法一样,不同的是reduceRight从数组末尾开始求和
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值