js中forEach,for in,for of的区别

时间:2022-01-31 20:47:08
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content
="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<script>
var arr = [1,2,3];
arr.four
= 4;
console.log(arr);

arr.forEach(value
=> {
/*if(value > 2) {
break
}
*/
console.log(value)
//1,2,3
})

for(let i in arr) {
console.log(i);
// '0' '1' '2' 'four' 相当于对象的key值
console.log(arr[i]) // 1,2,3,4 相当于对象的value值
}

for (let i of arr) {
if(i > 2) {
break
}
console.log(i);
// 1,2,3 数值中的每一项的值
console.log(arr[i]);//2,3,undefined 相当于arr[1],arr[2],arr[3]
}

for (let i of 'my') {
console.log(i);
// 'm' 'y'
}

for (let i of arr) {
if(i > 2) {
break
}
console.log(i);
// 1,2
}

</script>
</body>
</html>

总结:如果遍历数组最好用for of,遍历对象用for in
for of遍历数组和forEach遍历数组的区别:for of能用break语句,forEach不能