<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>10-静态方法map方法</title>
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script>
var arr = [1, 3, 5, 7, 9];
var obj = {0:1, 1:3, 2:5, 3:7, 4:9, length:5}; //伪数组
//1.利用原生JS的map方法
/*
*第一个参数:当前遍历到的元素
* 第二个参数:当前遍历到的索引
* 第三个参数:当前遍历的数组
* 和原生forEach一样,不能遍历伪数组
*/
/*arr.map(function (value,index,array) {
console.log(index,value,array);
});*/
/*obj.map(function (value,index,array) {
console.log(index,value,array);//不能遍历
});*/
/* 2.利用jQuery的map方法
*第一个参数:要遍历的数组
* 第二个参数:每遍历一个元素之后执行的回调函数
* 回调函数的参数:
* 第一个参数:遍历的元素
* 第二个参数:遍历到的索引
* 和jQuery中的each方法一样,可以遍历伪数组
*/
/* $.map(arr,function (value,index) {
console.log(index,value);
})
$.map(obj,function (value,index) {
console.log(index,value);
})
*/
var res1 = $.each(arr,function (index,value) {
console.log(index,value);
return value+index; //each不支持在回调函数中对遍历的数组进行处理
})
var res2 = $.map(obj,function (value,index) {
console.log(index,value);
return value+index; //map支持在回调函数中通过return对遍历的数组进行处理,生成一个新的数组返回
})
//jQuery中each静态方法和map静态方法的区别
console.log(res1); //要遍历谁就返回谁
console.log(res2); //返回值是一个空数组
</script>
</head>
<body>
</body>
</html>