前端遍历函数forEach() 、 $().each() 和 $.each() 学习总结
前端遍历函数
forEach()
1、forEach() 是JS遍历数组的方法
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
小白学习
var arr=[2,5,15,9,6,0,1,3];
arr.forEach(function(val,index,arr){
// var 数组中当前的值
// index 当前的值得下标
// arr 原数组
arr[index] = val+10;
})
console.log(arr);
//--------------------------------------------------
arr.forEach(function(val,index){
console.log(val);
});
2、forEach() 方法还可用于调用数组的每个元素,依次传递给回调函数 [ 例子中的 myfunction() ]。
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
小白学习
总消费: 元
var sum=0;
var number=[2,5,15,9,6,1,3];
function myfunction(item){
sum = sum + item;
total.innerHTML = sum;
}
需要注意的是,如果是空数组,那么就不会去执行回调函数
$().each()
1、$().each:一般在dom(文档对象模型)处理上面用的较多。
例如:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
小白学习
语文
数学
英语
$(function(){
$("input[name='subject']").each(function(index,val){
console.log(index+"---"+val.type+"---"+val.name+"---"+val.value);
});
});
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
小白学习
$(function(){
$("input:hidden").each(function(index,val){
console.log(index+"---"+val.type+"---"+val.name+"---"+val.value);
});
});
$.each()
$.each() 可遍历数组,也可用来处理json对象。
1、遍历一维数组
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
小白学习
$(function(){
var arr = ['可爱','粉可爱','炒鸡可爱'];
$.each(arr,function(index,value){
console.log(index+"---"+value);
});
});
2、遍历二维数组
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
小白学习
$(function(){
var arrayTest = [[1,2,3],[4,5,6],[7,8,9]];
$.each(arrayTest,function(index,item){ //index代表当前循环的次数,item为当前循环的对象
console.log(item[index]);//1;5;9
console.log(arrayTest[index]);//1,2,3 / 4,5,6 / 7,8,9
console.log(item);//1,2,3 / 4,5,6 / 7,8,9
$.each(item,function(){ //将第一次循环的对象再次循环,就实现了二维数据的遍历,如果有2以上的数组,则同理循环多次
console.log(this);//1;2;3; 4;5;6; 7;8;9 this代表当前元素
});
});
});
3、处理json对象
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
小白学习
$(function(){
var json = { name:'小白', sex:'男', age:'18' };
$.each(json,function(key,value){
console.log(key+'-----'+value);
});
});
4、处理二维数组中的 json对象
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
小白学习
$(function(){
var arr = [{ name:'小白', age:'16' },{ name:'小黑', age:'17' },{ name:'小兰', age:'18' }];
$.each(arr,function(index,json){
console.log(json.name);
console.log(json["name"]);
$.each(json,function(key,value){
console.log(key+'-----'+value);
});
});
});
5、处理 dom元素
这个跟 $().each() 是差不多的,就不演示了。
总结
这几个看起来好像区别不大,但是用法有不同之处,应用场景也有区别,所以还是要多去实践才能积累经验,更好的运用。