数组遍历的5种方法 (面试题)
方法一 for in
// 方法一 for in
function Ec(arr){
const res = []
for(const key in arr){
res.push(arr[key])
}
return res
}
方法二 for of
// 方法二 for of
function Ec(arr){
const res = []
for(const value of arr){
res.push(value)
}
return res
}
方法三 forEach()
// 方法三 forEach()
function Ec(arr){
const res = []
arr.forEach((item)=>{
res.push(item)
})
return res
}
方法四 Map()
// 方法四 Map()
function Ec(arr){
const res = []
arr.map((item)=>{
res.push(item)
})
return res
}
方法五 Some()
// 方法五 Some()
function Ec(arr){
const res = []
arr.some((item)=>{
res.push(item)
})
return res
}
知识点 for-in 和for-of 区别
- for-in 遍历得key for-of 遍历得值
- for-in 遍历可枚举数据:Array、String、Object
- for-of 遍历可迭代数据:Array、String、Set、Map
完整代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>数组遍历的5种方法</title>
</head>
<body>
<script>
const arr = [10, 20, 30, 50, 20]
console.log(Ec(arr));
// // 方法一 for in
// function Ec(arr){
// const res = []
// for(const key in arr){
// res.push(arr[key])
// }
// return res
// }
// // 方法二 for of
// function Ec(arr){
// const res = []
// for(const value of arr){
// res.push(value)
// }
// return res
// }
// // 方法三 forEach()
// function Ec(arr){
// const res = []
// arr.forEach((item)=>{
// res.push(item)
// })
// return res
// }
// // 方法四 Map()
// function Ec(arr){
// const res = []
// arr.map((item)=>{
// res.push(item)
// })
// return res
// }
// // 方法五 Some()
// function Ec(arr){
// const res = []
// arr.some((item)=>{
// res.push(item)
// })
// return res
// }
</script>
</body>
</html>