map和each的用法
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<!--
说明:
jquery-1.7.1.js 源代码
jquery-1.7.1.min.js 压缩过的
-->
<script src="Scripts/jquery-1.7.1.min.js"></script>
<script type="text/javascript">
//ready与window.onload区别
//1.Dom元素创建完毕就会触发,比window.onload先执行,后者还加载图片、CSS、JS
//2.onload只注册一次,注册多次只执行最后一次;而ready可以注册多次。
//$(document).ready(function () { }); 简写方式:$(function () { });
//$是jQuery的缩写
$(document).ready(function () {
});
////map的使用(map只能对数组操作)
////map中三个参数 1.数组 2.操作数组方法 3.可选参数
////操作数组的方法也有三个参数 1.数组遍历的其中一项 2.数组的遍历项的索引 3.map的第三个参数
var arr = [100, 200, 300, 400];
arr = $.map(arr, function (item) {
return item * 2;
});
arr = myMap(arr, function (item) {
return item * 2;
});
alert(arr);
arr = $.map(arr, function (item, i, arg) {
return "第" + i + "项:" + item + "加上arg之后等=" + (item + arg);
}, 3);
////模拟map内部实现
function myMap(arr, fn) {
var ret = [], value;
for (var i = 0, length = arr.length; i < length; i++) {
value = fn(arr[i], i);
if (value != null) {
ret[ret.length] = value;
}
}
return ret;
}
//each的使用(对数组和字典均可操作)
//
//function也有两个参数 1.键/下标 2.值
var dic = { "name": "Tom", "Age": 18, "Sex": "男" };
$.each(dic, function (key, value) {
alert(key + ":" + value);
});
//不传参数this输出的字典的值(常用)
$.each(dic, function () {
alert(this);
});
//传一个值就是键,可根据键取值
$.each(dic, function (key) {
alert(key + ":" + dic[key]);
});
//数组 1.数组下标 2.数组值
var arr1 = [11, 12, 13, 14, 15];
$.each(arr1, function (key, value) {
alert(key + ":" + value);
});
//数组 不传参数,this输出的是数组的值
$.each(arr1, function () {
alert(this);
});
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
</div>
</form>
</body>
</html>