JS each遍历详细解释(全)
1】jquery的each()详细介绍
each()函数封装了十分强大的遍历功能,使用也很方便,它可以遍历一维数组、多维数组、DOM, JSON 等等,在javaScript开发过程中使用$each可以大大的减轻我们的工作量。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
each处理一维数组:
var arr1 = [ "aaa", "bbb", "ccc" ];
$.each(arr1, function(i,val){
alert(i);
alert(val);
});
alert(i)将输出0,1,2
alert(val)将输出aaa,bbb,ccc
----------------------------------------------------------------------------------------------------------------------------------------------
each处理二维数组
var arr2 = [['a', 'aa', 'aaa'], ['b', 'bb', 'bbb'], ['c', 'cc', 'ccc']]
$.each(arr2, function(i, item){
alert(i);
alert(item);
});
arr2为一个二维数组,item相当于取这二维数组中的每一个数组。
item[0]相对于取每一个一维数组里的第一个值
alert(i)将输出为0,1,2,因为这二维数组含有3个数组元素
alert(item)将输出为 ['a', 'aa', 'aaa'],['b', 'bb', 'bbb'],['c', 'cc', 'ccc']
------------------------------------------------------------------------------------------------------------------------------------------------
对此二位数组的处理稍作变更之后
var arr = [['a', 'aa', 'aaa'], ['b', 'bb', 'bbb'], ['c', 'cc', 'ccc']]
$.each(arr, function(i, item){
$.each(item,function(j,val){
alert(j);
alert(val);
});
});
alert(j)将输出为0,1,2,0,1,2,0,1,2
alert(val)将输出为a,aa,aaa,b,bb,bbb,c,cc,ccc
-------------------------------------------------------------------------------------------------------------------------------------------------
each处理json数据,这个each就有更厉害了,能循环每一个属性
var obj = { one:1, two:2, three:3};
$.each(obj, function(key, val) {
alert(key);
alert(val);
});
这里alert(key)将输出one two three
alert(val)将输出one,1,two,2,three,3
这边为何key不是数字而是属性呢,因为json格式内是一组无序的属性-值,既然无序,又何来数字呢。
而这个val等同于obj[key]
--------------------------------------------------------------------------------------------------------------------------------------------------
ecah处理dom元素,此处以一个input表单元素作为例子。
如果你dom中有一段这样的代码
<input name="aaa" type="hidden" value="111" />
<input name="bbb" type="hidden" value="222" />
<input name="ccc" type="hidden" value="333" />
<input name="ddd" type="hidden" value="444"/>
然后你使用each如下
$.each($("input:hidden"), function(i,val){
alert(val);
alert(i);
alert(val.name);
alert(val.value);
});
那么,alert(val)将输出[object HTMLInputElement],因为它是一个表单元素。
alert(i)将输出为0,1,2,3
alert(val.name);将输出aaa,bbb,ccc,ddd,如果使用this.name将输出同样的结果
alert(val.value); 将输出111,222,333,444,如果使用this.value将输出同样的结果
如果将以上面一段代码改变成如下的形式
$("input:hidden").each(function(i,val){
alert(i);
alert(val.name);
alert(val.value);
});
可以看到,输出的结果是一样的,至于两种写法究竟区别在哪,我也还不知。此改变运用到上面几段数组的操作也会输出同样的结果。
JS each遍历详细解释(全)相关推荐
- JS原型与原型链详细解释
文章目录 一.JS原型链简要解释 二.JS原型链详细解释 1.构造函数 2.原型对象 3.`__proto__` 4.原型链 总结 一.JS原型链简要解释 原型是function对象上的一个属性, 它 ...
- js map遍历 修改对象里面的值_求职季之你必须要懂的原生JS(上)
点击上方"IT平头哥联盟",选择"置顶或者星标" 一起进步- 互联网寒冬之际,各大公司都缩减了HC,甚至是采取了"裁员"措施,在这样的大环境 ...
- 吴恩达机器学习 逻辑回归 作业3(手写数字分类) Python实现 代码详细解释
整个项目的github:https://github.com/RobinLuoNanjing/MachineLearning_Ng_Python 里面可以下载进行代码实现的数据集 题目介绍: In t ...
- 区块如何防篡改_区块链数据不可篡改的详细解释
区块链数据不可篡改的详细解释 背景介绍 本人新人一枚,学习区块链的过程中,在网上看到了很多讨论区块链区块数据不可篡改的文章,以比特币为例哈,主要存在2种解释: 解释1:由于哈希指针的存在,假设存在某节 ...
- js 数组遍历方法详解(map、filter、find、findIndex、reduce)
目录 前言 map map是什么 map方法的结构及入参 语法糖 map一般不改变原数组 filter 说明 例子 find 和 findIndex 说明 例子 reduce 说明 例子 尾言 前言 ...
- PointNet代码详细解释(Pytorch版本)
pointnet.pytorch的代码详细解释 1. PointNet的Pytorch版本代码解析链接 2. 代码解释 2.1 代码结构思维导图 2.2 代码注释 2.2.1 build.sh 2.2 ...
- js中遍历对象的几种方法
一.前言 我们知道,在js的对象中,有下面几种属性: 可枚举属性 不可枚举属性 从原型链上继承的属性 以Symbol作为key值 今天,我们就来谈一谈如何遍历这些属性. 二.遍历可枚举属性 首先, ...
- 区块链数据不可篡改的详细解释
区块链数据不可篡改的详细解释 背景介绍 本人新人一枚,学习区块链的过程中,在网上看到了很多讨论区块链区块数据不可篡改的文章,以比特币为例哈,主要存在2种解释: 解释1:由于哈希指针的存在,假设存在某节 ...
- Python精讲Numpy基础,大牛笔记详细解释
https://www.toutiao.com/a6664936105076326920/ 总认为Numpy是渣渣,直到深入接触以后才知道功能这么强大.堪比Matlab啊.果然是人生苦短,我用Pyth ...
最新文章
- 《C++语义和性能分析》读书笔记
- 23、Power Query-XML与JSON数据获取
- avenue在科研文章中的意思
- mysql登录报错 ERROR 1045 (28000)
- spring java配置_Spring:使基于Java的配置更加优雅
- 不带parent指针的successor求解
- Chrome 将内置 QR 扫码共享页面功能
- mysql 导出所有表_Mysql导出(多张表)表结构及表数据 mysqldump用法
- Linux命令解释之mv
- UGUI的Canvas
- android qq音乐 本地歌曲,如何将手机qq音乐本地歌曲导入到电脑
- ios视频实现H264硬编码和软编码编译ffmpeg库及环境搭建(附完整demo)
- android6.0 cta认证,手机cta认证要求有哪些?
- 只读ppt如何获得可编辑版本?
- 使用Arduino和DS12C887芯片制作电子时钟(附Arduino源代码)
- 数据预处理-python实现
- uvm_barrier
- 花生壳,nat123,srkura frp内网穿透对比(有主观成分
- torch.chunk()
- CSAPP Final Exam Preparation: reading solution records (2b continued)
热门文章
- BrightLineFalsingManager防误触问题
- 战网游戏服务器连接中断,魔兽世界7.0军团再临游戏常见问题及解决方法
- leetcode刷题:292. Nim 游戏(Java)
- python股票策略_用Python编写简单股票策略
- 大学计算机英语听力,计算机二级 -【听力改革】大学英语六级听力改革基础训练 TEST 5(附音频MP3) -我要模考网...
- 怎么打开计算机的音乐模式,xp开机音乐怎么设置 如何设置开机音乐
- 最少拍无纹波计算机控制系统,最少拍无纹波计算机控制系统设计.doc
- python 推箱子实验开发报告,python实现推箱子游戏
- 以下选项中不是python对文件的写操作方法的是_以下选项中,不是 Python 对文件的读操作方法的是...
- 大家玩突袭2吗?呵呵我有秘籍哟!