<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title> 数组的foreach方法(遍历) </title>
JavaScript forEach() 方法 : https://www.runoob.com/jsref/jsref-foreach.html
</head>
<body>
<p>
数组对象的forEach中有两个参数第一个是回调函数,第二个选填一般是this <br>
回调函数中可以传入三个参数: value 当前参数,index 索引值,arr 当前参数所属数组 <br>
定义和用法 : <a href="https://www.runoob.com/jsref/jsref-foreach.html">JavaScript forEach() 方法</a> <br>
forEach() 方法用于调用数组的每个元素,并将元素传递给回调函数。 <br>
注意: forEach() 对于空数组是不会执行回调函数的。 <br>
语法 : array.forEach(function(currentValue, index, arr), thisValue) <br>
参数 描述 <br>
function(currentValue, index, arr) 必需。 数组中每个元素需要调用的函数。 <br>
函数参数: 参数 描述 <br>
currentValue 必需。当前元素 <br>
index 可选。当前元素的索引值。 <br>
arr 可选。当前元素所属的数组对象。 <br>
thisValue 可选。传递给函数的值一般用 "this" 值。 <br>
如果这个参数为空, "undefined" 会传递给 "this" 值 <br>
</p>
<p>
<h3>forEach(),map(),filter()的区别</h3>
1.forEach() <br>
用法:array.forEach(function(value,index){}) <br>
没有返回值,只是单纯的遍历 <br>
2.map() <br>
用法:array.map(function(value,index){}) <br>
遍历并对其进行操作,返回新数组,原数组不变 <br>
3.filter() <br>
用法:array.filter(function(value,index){}) <br>
筛选符合条件的元素并返回新数组,原数组不变 <br>
</p>
<script>
var arr = [1, 2, 3, 4]
arr.forEach(function (value, index, arr) {
console.log('当前元素' + value, '索引值' + index, '当前元素所属的数组对象' + arr);
// 当前元素1 索引值0 当前元素所属的数组对象1,2,3,4
// 当前元素2 索引值1 当前元素所属的数组对象1,2,3,4
// 当前元素3 索引值2 当前元素所属的数组对象1,2,3,4
// 当前元素4 索引值3 当前元素所属的数组对象1,2,3,4
})
var add = ['liang', 'liang liang', 'ye se']
console.log(add); // (3) ["liang", "liang liang", "ye se"]
console.log(add[1]); // liang liang
add.forEach(function (value) {
console.log(value);
// liang
// liang liang
// ye se
})
</script>
</body>
</html>