jQuery 与for相关的遍历方法
普通for
循环
优点:自行指定循环次数。
for (let i = 0; i < 10; i++) {console.log(i);
}
forEach
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
缺点:
1.不能同时遍历多个集合,在遍历的时候无法修改和删除集合数据,
2.方法不能使用break,continue语句跳出循环,或者使用return从函数体返回,对于空数组不会执行回调函数
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);
});
for..in
- 为循环“enumerable”对象设计的
- 循环遍历对象自身和继承的可枚举属性(不含Symbol)
- 会循环原型链和手动添加的键,返回键名key
- 某些情况下,循环顺序随机的
for in的优点:可以遍历数组的键名,遍历对象简洁方便
for in的缺点:
- 索引是字符串型的数字,因而不能直接进行几何运算
- 遍历顺序可能不是实际的内部顺序
- for in会遍历数组所有的可枚举属性,包括原型。例如的原型方法method和name属性
- 如果手动向数组添加成员属性,则:虽然数组的length不变,但用
for..in
遍历数组会遍历到那些新定义的属性。
故而一般用for in遍历对象而不用来遍历数组
这也就是for of存在的意义了,for of 不遍历method和name,适合用来遍历数组
for...of(ES6)
- 可以使用break,continue,return
- 支持数组和类数组对象的遍历,循环读取键值
- 也支持字符串的遍历
for..of
循环修复了for..in
存在的问题,他只遍历属于对象本身的属性值。
且这个对象必须是iterable
可被迭代的。如Array, Map, Set
。
for of的优点:避免了for in的所有缺点,可以使用break,continue和return,不仅支持数组的遍历,还可以遍历类似数组的对象,支持字符串的遍历。是最简洁,最直接的遍历数组的语法。还支持map和Set对象遍历
for of的缺点:不支持普通对象,想遍历对象的属性,可以用for in循环, 或内建的Object.keys()方法:
Object.keys(myObject)获取对象的实例属性组成的数组,不包括原型方法和属性
for (var key of Object.keys(Object))console.log(key + ": " + Object[key]);
for in和for of最直接的区别就是:
for in遍历的是数组的索引(即键名),而for of遍历的是数组元素值。
Array.prototype.method=function(){}
var myArray=[1,2,4];
myArray.name="数组";for (var index in myArray)console.log(myArray[index]); //0,1,2,method,namefor (var value of myArray) console.log(value); //1,2,4
for...in
语句以原始插入顺序迭代对象的可枚举属性。for...of
语句遍历可迭代对象定义要迭代的数据。
关于几种循环的性能:https://blog.csdn.net/weixin_42441117/article/details/80688567?utm_medium=distribute.pc_relevant.none-task-blog-baidujs-2
jQuery 与for相关的遍历方法相关推荐
- jQuery 遍历方法总结
遍历方法有:1.add(),用于把元素添加到匹配元素的集合中:2.children(),用于返回被选元素的所有直接子元素:3.closest(),用于返回被选元素的第一个祖先元素:4.contents ...
- jQuery 遍历方法
jQuery 遍历方法 方法 描述 add() 把元素添加到匹配元素的集合中 addBack() 把之前的元素集添加到当前集合中 andSelf() 在版本 1.8 中被废弃.addBack() 的别 ...
- jQuery 遍历 方法
jQuery 遍历 方法 jQuery 遍历方法 方法 描述 add() 把元素添加到匹配元素的集合中 addBack() 把之前的元素集添加到当前集合中 andSelf() 在版本 1.8 中被废弃 ...
- jQuery 循环遍历方法总结+综合案例
jQuery目前是前端比较流行的JavaScript框架,循环遍历的场景工作中经常遇到,今天就对jQuery中的循环遍历做个总结.文章最后附综合案例代码. 第一:for.while.do while循 ...
- matlab 遍历每个像素点,Mat中两种像素遍历方法比较
小白,入门中,不足其指正.刚刚接触opencv,从一个Matlab风格的编程环境突然跳转到C++,实在有些不适.单就pixels scanning花了好长时间研究.opencv-tutorials给出 ...
- python列表方法语句_Python中列表和元组的相关语句和方法讲解
列表(list): 首先,列表属于序列,那么序列类型可用如下内建函数-- list(iter):把可迭代对象转换为列表. str(obj):把obj对象转换为字符串,即用字符串来表示这个对象. tup ...
- jquery 对 Json 的各种遍历
原文链接: http://caibaojian.com/jquery-each-json.html 概述 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式, ...
- js进阶课程 12-9 jquery的事件对象event的方法有哪些?
js进阶课程 12-9 jquery的事件对象event的方法有哪些? 一.总结 一句话总结:三组六个,阻止默认事件一组,阻止冒泡一组,阻止冒泡和剩余事件一组. 1.事件的默认动作指什么? 比如点a标 ...
- js进阶 13-6 jquery动画效果相关常用函数有哪些
js进阶 13-6 jquery动画效果相关常用函数有哪些 一.总结 一句话总结:animate(),stop(),finish(),delat()四个. 1.stop()方法的基本用法是什么(sto ...
最新文章
- 盘点一下数据库的误操作有哪些后悔药?
- 19.7 主动模式和被动模式 添加监控主机 添加自定义模板 处理图形
- 为什么德国人工作这么慢,但效率却很高?
- ITK:平移一个网格
- mysql 数学函数
- java有什么压力_编程语言的心智负担!你学编程得有多大的压力快来测试一下...
- 2017计算机考试题上机,2017年计算机二级上机考试试题及答案
- layui使用弹出层 关闭后弹层的内容又显示出来
- Nginx学习之十一-Nginx启动框架处理流程
- Python数据分析学习笔记01:安装相关软件、导入扩展模块与集成开发环境
- 我的学习之路_第十四章_反射
- python3内置函数_python3--内置函数
- Python之np.where的使用
- MPLS VXN配置实例——RT值的妙用
- PHP连接 SQLSERVER 注意事项(经典中的经典)
- wps带阴影的边框怎么设置_wps如何添加阴影边框-wps设置阴影边框的方法 - 河东软件园...
- solr删除数据的4种方便快捷的方式
- (适合小白)利用百度AI开放平台实现人脸检测,对比和搜索。
- petalinux2018.3安装步骤
- 修改计算机ip地址cmd,win7系统通过命令提示符将系统修改为静态IP地址的方法【图文】...