for循环是最基础并且是比较常用的一种
let arr=[1,2,3,4,5]
for(let i=0;i
使用for...of循环可以遍历数组,并且直接获取里面的每个元素
let arr=[1,2,3,4,5]
for(let element of arr){
console.log(element)//1,2,3,4,5
}
可以遍历对象或数组,遍历数组时key为数组下标
let arr=[1,2,3,4,5]
for(let key in arr){
//输出0,1,2,3,4
console.log(key)
}
every,filter,forEach,map,some它们分别接受3个参数:数组项的值,数组中的索引位置和数组对象本身
对数组中的每一项运行给定的函数,如果每一项都返回true,则结果返回true
let arr=[1,2,3,4,5]
let result = arr.every(function (item,index,array) {
return (item>3)
})
console.log(result)//false
如果有一项不符合要求就返回false
对数组中的每一项运行给定的函数,返回该函数会返回true项组成的新数组(它会返回一个新的数组,并不会影响原来的数组.)可以用来过滤某些需要的数据。
let arr=[1,2,3,4,5]
let result = arr.filter(function (item,index,array) {
return (item>3)
})
console.log(result)//[4,5]
对数组中的每一项运行给定的函数,这个方法没有返回值。无法中途跳出forEach循环,break命令或return命令都不能生效。
let arr=[1,2,3,4,5]
arr.forEach(function (item,index,array) {
//分别打出每个元素和索引
console.log(item,index)
})
对数组中的每一项运行给定函数,返回每次函数调用结果组成的新数组,并不会影响原来的数组。
let arr=[1,2,3,4,5]
let result=arr.map(function (item,index,array) {
return item+1
})
console.log(arr)//[1,2,3,4,5]
console.log(result)//[2,3,4,5,6]
对数组中的每一项运行给定的函数,如果该函数的任何一项都返回true(只要找到一个符合条件的就行),则返回true,结果为
let arr=[1,2,3,4,5]
let result=arr.some(function (item,index,array) {
return item>3
})
console.log(result)//true
let arr=[1,2,3,4,5]
let result=arr.some(function (item,index,array) {
return item>8
})
console.log(result)//false
返回第一个符合条件的元素,没有找到返回undefined
//第一种
let arr=[1,2,3,4,5]
let result = arr.find(function (value) {
return value===10
})
console.log(result)//3
//第二种
let arr=[1,2,'张三',4,5]
let result = arr.find(function (value) {
return typeof value==='string'
})
console.log(result)//张三
返回第一个符合条件元素的索引,没有找到返回-1
//第一种
let arr=[1,2,'张三',4,5]
let result = arr.findIndex(function (value) {
return value===2
})
console.log(result)//1
//第二种
let arr=[1,2,'张三',4,5]
let result = arr.findIndex(function (value) {
return value===10
})
console.log(result)//-1
这两个方法都会迭代数组中的所有项,然后返回一个最终的值。reduce方法从数组的第一项开始,一直遍历到最后。面reduceRight从数组的最后一项开始,一直遍历到最开始的第一项。接受4个参数,前一个值,当前值,数组项的索引和数组本身。
这个函数返回的任何值都会作为第一个参数自动传给下一项,第一次迭代发生在数组的第二个元素上(第一次就从第二个元素开始)因此第一个参数就是数组的第一项,第二个参数就是数组的第二项。
解释:第一次遍历从2开始,用1和2相加,第二次遍历把第一次的结果和3相加,以此类推,一直到最后一个。reduceRight的用法和reduce相反,从后往前开始。
//reduce
let arr=[1,2,3,4,5]
let result = arr.reduce(function(prev,cur,index,array){
return prev+cur
})
console.log(result)//15
//reduceRight
let arr=[1,2,3,4,5]
let result = arr.reduceRight(function(prev,cur,index,array){
return prev+cur
})
console.log(result)//15
对可能用到的做一个总结,做个笔记。