forEach() 为JavaScript(ES5)的方法,而 each() 方法是JQuery的方法,forEach() 方法用于调用数组的每个元素,并将元素传递给回调函数。
注意: forEach() 对于空数组是不会执行回调函数的。
forEach()的回调函数有两个参数,index,value,index为当前元素的索引值,value为当前元素。
var arr = ["你好","我好","大家好","才是","真的好"];
arr.forEach(function(value,index) {
// 输出为array数组的每一个元素
// 注意 value在前
console.log(value);
});
arr必须是一个真正的数组,当arr为伪数组则会报错:
let btns = document.getElementsByTagName("button")
console.log("btns",btns);//得到一个伪数组
btns.forEach(item=>console.log(item)) Uncaught TypeError: btns.forEach is not a function
each() 方法分两种情况,$().each() 和 $.each()。
$().each()是对页面元素的操作,此时可获取DOM元素直接操作
var resourceInputVal = $("#ResouraceModal form input");
$("#ResouraceModal .btn-default").click(function () {
// button按钮的点击事件里可以直接修改input输入框的内容
resourceInputVal.each(function (index, value) {
// 注意index在前
value.value = "";
})
})
如果要用each方法操作二维数组,可以这样写:
var arr = ["gag","grt","rthr","afds","nttr","fWGW","afgd","cvd","awx"];
$.each(arr,function(index,value) {
// 此时,each方法可以用于直接操作数组
// index在前
console.log(value);
});