在 jQuery 中 $.each()方法不仅可以用于遍历数组,还可以用于遍历对象。
在 jQuery 中,我们可以使用$.each()方法来遍历数组。
语法:
第 1 个参数 array 是一个数组。第 2 个参数是一个匿名函数。该匿名函数有两个形参:index 表示当前元素的“索引”,value 表示当前元素的“值”。
如果需要退出 each 循环,可以在回调函数中返回 false,即 return false。
注意:这里是 function(index,value),而不是 function(value,index)。$.grep() 和 $.each() 这两个方法中的匿名函数的参数顺序是不一样的。
举例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<script src="js/jquery-1.12.4.min.js"></script>
<script>
$(function(){
var arr = ["HTML","CSS","JavaScript"];
$.each(arr, function(index,value){
var result = "下标:" + index + ",值:" + value;
console.log(result);
})
})
</script>
</head>
<body>
</body>
</html>
控制台输出结果如图 1 所示。
对于$.each()方法来说,我们可以使用两种方式来获取当前元素的值:arr[index]、value。
$.each(arr, function(index,value){
var result = "下标:" + index + ",值:" + value;
console.log(result);
})
上面的代码其实可以等价于:
$.each(arr, function(index,value){
var result = "下标:" + index + ",值:" + arr[index];
console.log(result);
})
举例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<script src="js/jquery-1.12.4.min.js"></script>
<script>
$(function(){
var arr = ["HTML","CSS","JavaScript"];
$.each(arr, function(index,value){
var result = value.split("").reverse().join("");
arr[index] = result;
})
console.log(arr);
})
</script>
</head>
<body>
</body>
</html>
预览效果如图 2 所示。
此外,$.each()方法除了可以用于遍历数组之外,还可以用于遍历对象,
在 jQuery 中,有关对象操作的工具函数只有一个,那就是$.each()方法。
语法:
在$.each()方法中,第 1 个参数 obj 是一个对象,第 2 个参数是一个匿名函数。该匿名函数有两个形参:key 表示“键”,value 表示“值”。
如果需要退出 each 循环,可以在回调函数中返回 false,即 return false。
从语法上看,$.each()用于遍历对象,与用于遍历数组是完全不一样的。这一点小伙伴们要重点区分一下。
举例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<script src="js/jquery-1.12.4.min.js"></script>
<script>
$(function(){
var person = {
name:"helicopter",
age:25,
hobby:"swimming"
};
$.each(person, function(key, value){
console.log(value);
})
})
</script>
</head>
<body>
</body>
</html>
控制台输出结果如图 3 所示。
对于$.each()方法来说,我们可以使用两种方式来获取键的值:obj[key]、value。
$.each(person, function(key, value){
console.log(value);
})
上面的代码其实可以等价于:
$.each(person, function(key, value){
console.log(person[key]);
})