一个朋友问对象如何转为数组,当我问他为啥要转得时候,他告诉我,数组可以用js循环遍历,而对象则不可以。其实呢,对象同样可以循环遍历的啊。不用转换也可以循环!说明你对js或者jquery的某些操作不是很熟练!在这里我简单介绍一下!

案例

我们看如下对象:

1
2
3
4
5
6
7
8
9
var data={
  张三:69,
  李四:72,
  王五:90,
  二麻子:88,
  前端博客:100,
  haorooms : 98,
  王大壮:99
}

假如上面是后台返回的一个key,一个是value的对象(这种对象相信大家经常遇到吧!),现在要把这个内容,循环绑定到一个表格中。有的朋友对对象的循环就不知道怎么操作了!今天我给大家介绍两个方法!

方法一:

用$.each的方式进行循环!

假如你不知道$.each的话,建议大家网上搜一搜。当然也可以搜索一下“jquery的$().each,$.each的区别”,关于他们的区别,我在这里就不详细介绍了。可能有的朋友$().each这个方式用的比较多,今天主要给大家介绍$.each。

$.each()可以遍历数组和对象。方式如下:

1
2
3
4
$.each([{“name”:”haorooms”,”email”:”bb@126.com”},{“name”:”qianduan”,”email”:”aa@hao.com”}],function(i,n)
{
alert(“索引:”+i,”对应值为:”+n.name);
});

也可以这么遍历:

1
2
3
4
var arr1 = [ “one”, “two”, “three”, “four”, “five” ];
$.each(arr1, function(){
alert(this);
});

输出:one   two  three  four   five
最爽的是可以遍历数组:

var obj =data;//上面复制的data
$.each(obj, function(key, val) {
alert(obj[key]);//可以输出成绩
console.log(key);//可以输出姓名
});

方法二:

用for in循环,可以遍历obj

对上面的对象,我们可以这么写来循环!

for(var i in data){
console.dir(i);//输出姓名
console.dir(data[i]);//输出分数
}

for in循环相信大家应该不陌生!for循环我们用到比较多的是for(var i=0;i<array.length;i++)这样,这个主要是针对数组来循环的。对于对象,我们通常用for in循环!

另外,假如我们遇到如下对象:

1
2
3
4
5
6
7
8
9
var data={
  张三:69,
  李四:72,
  王五:90,
  二麻子:88,
  前端博客:100,
  haorooms : 98,
  王大壮:99
}

我们可以用data.haorooms得到98,但是我们用“data.前端博客”会报错,因此,在我们用汉字做key值的时候,选取的时候应该用data["前端博客"],这种方式来选择,不要再用点号了。

最新文章

  1. delphi附带通用控件安装方法:
  2. iOS—最全的真机测试教程
  3. Ubuntu 开启ssh
  4. 【WCF--初入江湖】06 WCF契约服务行为和异常处理
  5. 刷票 变 IP
  6. HDU 2517 / POJ 1191 棋盘分割 区间DP / 记忆化搜索
  7. PL/SQL Developer ORA-12154: TNS: 无法解析指定的连接标识符
  8. MATLAB仿真中连续和离散的控制器有何区别?
  9. Linux命令 查看及修改文件属性
  10. hibernate之映射文件VS映射注解
  11. JavaScript八张思维导图—字符串用法
  12. 关于gitee代码上传下载
  13. C++ STL next_permutation(快速排列组合)
  14. [DevExpress使用随笔]之NavBarControl控件(一)【转】
  15. mysql插入数据会变中文
  16. 前端-URL到页面显示的全过程
  17. 有登陆认证的情况下如何使用Wisdom RESTClient?
  18. vueJs的简单入门以及基础语法
  19. extjs几个奇怪的错误
  20. 深度分析:Android中Mms设置页面更改短信中心号码流程

热门文章

  1. oracle 数据导到 sql server
  2. Python-DDT实现接口自动化
  3. SSH框架使用poi插件实现Excel的导入导出功能
  4. 酷炫的3D照片墙
  5. 【mac】【转发】Mac系统升级后,按大小写键没反应了,切换大小写的灯不亮了
  6. 《linux设备驱动开发详解》笔记——10中断与时钟
  7. python3 完全平方数(循环)
  8. Python PyAudio 安装使用
  9. centos新增或删除用户
  10. IAR调试时出现IAR one or more breakpoints could not be set and have been disabled的解决办法