数组的遍历方法

以...为例

let arr = [1,2,3,4]
let Arr = [
    {id: 0, name: '小明' },
    {id: 1, name: '小白' },
    {id: 2, name: '小红' },
    {id: 3, name: '小新' }
]

 

for

for (let i = 0; i < 6; i++) {
    
}

 

for in

遍历数组索引

for (i in arr) {
    console.log(i);
}
// 0、1、2、3

 

for of

遍历数组元素值

for (v in arr) {
    console.log(i);
}
// 1、2、3、4

 

forEach

遍历数组中的每一项,没有返回值,对原数组没有影响

arr.forEach((value,index,arr) => {
    
});
value     必需,当前元素
index     可选,当前元素的索引值
arr     可选,当前元素所属的数组对象

 

indexOf

返回某个指定的值在数组中首次出现的位置

arr.indexOf(value,fromindex)
value     必需,规定需检索的字符串值。
fromindex     可选的整数参数,规定在字符串中开始检索的位置

 

lastIndexOf

返回某个指定的值在数组中最后出现的位置,用法同 indexOf

 

find

返回一个符合条件的数组第一个元素值
常用语法: arr.find(value,index,arr) => {})

let a = Arr.findIndex(v => v.id === 2)    
console.log(a); //{ id: 2, name: '小红', age: 3 }

 

findIndex

返回一个符合条件的数组第一个元素位置

常用语法: arr.findIndex(value,index,arr) => {})

let a = Arr.findIndex(v => v.id === 2) console.log(a); //2

 

includes

判断数组是否包含指定的元素值

arr.includes(value, fromIndex)
value     必须,需要查找的元素值。
fromIndex     可选,从该索引处开始查找 

 

every

检测数组所有元素是否都符合指定条件,如果数组中检测到有一个元素不满足,则整个表达式返回 false

常用语法: arr.every(value,index,arr) => {})

let a = Arr.findIndex(v => v.id > 2)    
console.log(a); //false

some

检测数组所有元素是否都符合指定条件,如果有一个元素满足条件,则表达式返回true

常用语法: arr.some((value,index,arr) => {})

let a = Arr.findIndex(v => v.id > 2)    
console.log(a); //true

 

map

返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值,不影响原数组

常用语法: arr.map(value,index,arr) => {})

let a = Arr.map( (v,i) => {
return v.id * i
})
console.log(a); //[ 0, 1, 4, 9 ]

 

filter

返回一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素,不影响原数组

常用语法: arr.filter(value,index,arr) => {})

let a = Arr.filter((v,i) => {
    return v.id > 1 
})     
console.log(a); //[ { id: 2, name: '小红', age: 3 } ]

 

reduce

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

常用语法: arr.reduce((total, value, index, arr) => {})

     total: 必需,初始值, 或者计算结束后的返回值

let a = arr.reduce((total,v) => {
return total + v
})
console.log(a); //10

 

reduceRight

和 reduce 功能是一样的,不同的是 reduceRight() 从数组的末尾向前将数组中的数组项做累加

 

keys、values、entries

返回一个数组的迭代对象,可以用 for of 进行遍历

keys遍历原数组键,values遍历原数组值,entries遍历原数组键值对

 

猜你喜欢

转载自www.cnblogs.com/huangyuanning/p/11974265.html