您的位置:首页 > Web前端 > JavaScript

学习总结之js循环数组的方法

2020-06-04 04:35 851 查看

学习总结之js循环数组的方法

先声明一个数组

const arr = ['你','我','他','你']
  • for循环

for (let i=0; i<arr.length; i++) {
console.log(arr[i])
}

根据数组长度,循环数组索引值,按索引值取出数组元素

  • arr.forEach()循环

    1.参数一(必须):回调函数,该回调函数有三个参数(currentValue:当前元素, index:当前元素索引值, arr:当前数组对象)
  • 2.参数二(可选):指定this的指向。
arr.forEach(function (value, index, array) {
console.log(value,index,array)
})

  • for of 与 for in

    1.for of------- 直接循环遍历出数组的值
  • 2.for in-------循环遍历出索引值,需要根据索引值去数组取出值
for (let item of arr) {
console.log(item) // 你 我 他 你
}
for (let i in arr) {
console.log(i) // 0 1 2 3
console.log(arr[i])// 你 我 他 你
}
  • arr.indexOf 与 arr.lastIndexOf

    1.arr.indexOf------- 数组从左往右遍历,如果找到匹配的值,停止寻找,返回该元素的索引值,找不到返回-1
  • 2.arr.lastIndexOf-------从右往左遍历,其他和indexOf相同
console.log(arr.indexOf('你')) //0
console.log(arr.lastIndexOf('你'))//3
  • arr.some()

循环遍历数组,查找数组中的元素,是否满足某一要求,只要有一个满足,返回true

const result = arr.some((value, index, array) =>{
return value === '你'
})
console.log(result)// true
  • arr.every()

循环遍历数组,数组中的所有元素,满足条件时,才返回true

const result2 = arr.every((value, index, array) =>{
return value === '你'
})
console.log(result2)// false
  • arr.map()

对数组元素进行操作,return的值作为对应位置的元素值,返回一个新数组

const newArr = arr.map((value, index, array) =>{
return value +'-----'
})
console.log(newArr)// [ '你-----', '我-----', '他-----', '你-----' ]
  • arr.filter()

过滤数组,保留返回true,不保留返回false

const list = []
const newArr2 = arr.filter((value, index, array) =>{
if (list.indexOf(value) === -1) {
list.push(value)
return true
} else {
return false
}
})
console.log(newArr2)// [ '你', '我', '他' ]
  • arr.reduce()

    1.参数一:回调函数,参数组成(previousValue:初值或return 的值, currentValue:当前元素的值, currentIndex:当前元素的索引值, array:遍历的数组对象)
  • 2.参数二:可选,第一次循环时previousValue的值
const newArr3 = arr.reduce((previousValue, currentValue, currentIndex, array) => {
return previousValue + currentValue
},'初值')
console.log(newArr3)//初值你我他你
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: