map也是数组的一个方法和foreach一样也可以接收两个参数第一个参数是一个回调函数,第二个参数是一个传入值;对于参数回调函数接收三个参数第一个参数是当前值,第二个参数是当前值的索引值,第三个参数为此数组;man函数中不能存在break和continue语句,和foreach不同的是foreach没有返回值,但是map函数具有返回值为每次执行时返回的值组成的数组,如果没有指定返回值返回值为undefined。下面我们来看一下map方法进行数组求和的处理。
<!DOCTYPE html>
<html>
<head>
<title>数组遍历之map遍历</title>
<meta charset="utf-8">
</head>
<body>
<input type="button" value="执行结果" id="map">
<div id="value" style="width: 600px;height: 400;"></div>
</body>
<script>
let a=[1,2,3,4,5,6,7,8,9];
let data=0;
let str=[];
let value=a.map((val,index)=>{
data+=val;
// continue;
str.push(`the val is ${val} and the index is ${index}`);
},data);
str.push(`the value is ${value}`);
str.push(`The data is ${data}`);
str=str.join("\r\n");
let demo=document.getElementById("value");
demo.innerText=str;
</script>
</html>
个人感觉map方法比较适合于对数组中的每一个值进行处理同时需要得到么个处理之后的值的需求。