一、对象是数组:

var arr = [9, 8, 7, 6, 5, 4, 3, 2, 1]; 

//each遍历:
$.each(arr,function (index,value) {
alert(index)
})
//0 1 2 3 4 5 6 7 8 $.each(arr,function (index,value) {
alert(value)
})
//9 8 7 6 5 4 3 2 1 $.each(arr,function () {
alert(this)
})
//9 8 7 6 5 4 3 2 1
//for遍历:
for (var i in arr) { //不推荐for in 遍历数组
console.log(arr[i]);
} //9 8 7 6 5 4 3 2 1 for (var i = 0; i < arr.length; i++) {
console.log(arr[i]);
} //9 8 7 6 5 4 3 2 1


var arr = [{"id":"1","tagName":"apple"},{"id":"2","tagName":"orange"},{"id":"3","tagName":"banana"},{"id":"4","tagName":"watermelon"},{"id":"5","tagName":"pineapple"}]; 

$.each(arr, function(index, obj) {
alert(index); // 0,1,2,3,4
alert(obj); //{"id":"1","tagName":"apple"},{"id":"2","tagName":"orange"}...
alert(obj.id); // 1,2,3,4,5
alert(obj.tagName); // apple, orange, banana, watermelon, pineapple
}); $.each(arr, function(index, obj) {
alert("第"+ index +"项的tagName是"+obj.tagName);
});
//第0项的tagName是apple 第1项的tagName是orange..................

二、对象是json:

var json  =  { "jim": "11", "tom": "12", "lilei": "13" }; 

//jquery获取
$.each(json , function(key, value) {
alert(key); //jim tom lilei
alert(value); //11 12 13
}); //原生JS获取
for(var i in json){
alert(i); //jim tom lilei
alert(json[i]); //11 12 13
};

三、json是字符串:(解决方案:JSON字符串转换为JavaScript对象。)

var json = '[{"id":"1","tagName":"apple"},{"id":"2","tagName":"orange"},{"id":"3","tagName":"banana"},{"id":"4","tagName":"watermelon"},{"id":"5","tagName":"pineapple"}]';

//用$.parseJSON(json)或者JSON.parse(json)将其转换为JavaScript对象   字符串转json对象
$.each($.parseJSON(json), function(idx, obj) {
alert(obj.tagName); //apple, orange, banana, watermelon, pineapple
});

json的解析方法共有两种:eval() 和 JSON.parse(),使用方法如下:

var jsonData = '{"data1":"Hello", "data2":"world"}';

eval("("+jsonData+")");             //Object {data1: "Hello", data2: "world"}
JSON.parse(jsonData); //Object {data1: "Hello", data2: "world"}

这样就把jsonData这个json格式的字符串转换成了JSON对象。

eval("("+data+")");                 //转换为json对象

eval在解析字符串时,会执行该字符串中的代码(这样的后果是相当恶劣的)

var obj= [{"id":"1","tagName":"apple"},{"id":"2","tagName":"orange"},{"id":"3","tagName":"banana"},{"id":"4","tagName":"watermelon"},{"id":"5","tagName":"pineapple"}];

JSON.stringify(obj)                //json对象转字符串  与JSON.parse()相反

"[{"id":"1","tagName":"apple"},{"id":"2","tagName":"orange"},{"id":"3","tagName":"banana"},{"id":"4","tagName":"watermelon"},{"id":"5","tagName":"pineapple"}]"
 

JavaScript对象遍历的更多相关文章

  1. 快速学习javascript对象-遍历对象

    为了方便了解每个javascript对象包含的方法,我写一个函数. function GetCollection(obj){ try{ if(obj){ var sType=""; ...

  2. JavaScript对象遍历属性和值

    原文链接:http://caibaojian.com/javascript-object-3.html 加入你输出来一个对象,但是苦于不知道里面有哪些属性和值,这个时候,你可以通过下面的代码来遍历这个 ...

  3. javascript笔记整理(对象遍历封装继承)

    一.javascript对象遍历 1.javascript属性访问 对象.属性名 对象['属性名'] var obj={name:'chen',red:function(){ alert(1);ret ...

  4. 遍历 JSON JavaScript 对象树中的所有节点

    我想要遍历 JSON 对象树中,但为何找不到任何一间图书馆.这似乎是不难,但感觉就像重新发明轮子. 在 XML 中有很多教程演示如何遍历 XML DOM 树:( 解决方法 1: 如果你认为 jQuer ...

  5. javascript客户端遍历控件与获取父容器对象

    javascript客户端遍历控件与获取父容器对象示例代码 1,遍历也面中所有的控件function findControlAll()    {        var inputs=document. ...

  6. JavaScript对象---递归遍历对象

    JavaScript 中的所有事物都是对象:字符串.数值.数组.函数... 此外,JavaScript 允许自定义对象. JavaScript 对象 JavaScript 提供多个内建对象,比如 St ...

  7. JavaScript中遍历数组和对象的方法

    js数组遍历和对象遍历 针对js各种遍历作一个总结分析,从类型用处,分析数组和对象各种遍历使用场景,优缺点等 JS数组遍历: 1,普通for循环,经常用的数组遍历 var arr = [1,2,0,3 ...

  8. 简述JavaScript对象、数组对象与类数组对象

    问题引出 在上图给出的文档中,用JavaScript获取那个a标签,要用什么办法呢?相信第一反应一定是使用document.getElementsByTagName('a')[0]来获取.同样的,在使 ...

  9. 深入理解javascript对象系列第二篇——属性操作

    × 目录 [1]查询 [2]设置 [3]删除[4]继承 前面的话 对于对象来说,属性操作是绕不开的话题.类似于“增删改查”的基本操作,属性操作分为属性查询.属性设置.属性删除,还包括属性继承.本文是对 ...

随机推荐

  1. Linux下搭建FTP服务器(Ubuntu16.04)

    搞了下FTP服务器,基本上能遇到的问题都遇到了-.-! 先说步骤: 1.安装vsftpd软件包 sudo apt-get install vsftpd 2.打开配置文件 vim /etc/vsftpd ...

  2. .net 爬虫框架技术选型

    个人认为爬虫框架分抓取框架和分析框架 1)抓取框架 .net 市面上好的似乎不多,选择要素分两种:1.轻量型,2.重量型. 1. 轻量型是可以定制一些特殊的功能或者插件开关形式.总体性能高,速度快. ...

  3. 支持苹果IPV6 ONLY 的socket 修改方法

    首先别错误理解以为app 必须支持 ipv6 的服务端, 只需要支持 ipv6的客户端需要访问 ipv4 的服务端. 目前需要经过  NAT64 转换就能达到目的,客户端只需要支持该转换就能实现, 在 ...

  4. docker~docker-compose和VS解决方案的关系

    回到目录 一般地,我们在VS里添加了一个解决方案之后,会更新模块或者业务添加多个api,web项目,这类似于最近说的微服务,而我们的docker-compose与微软件正好有了一种默契,当你为你的解决 ...

  5. IDEA+Java:Selenium+Maven+TestNG基本WebUI自动化测试环境搭建

    IDEA+java:Selenium+Maven+TestNG 本文介绍的测试环境,应该是最基本的测试环境了,也是很多文章都有写,这里做一个完整的图文配置整理,方便阅读理解! 使用maven的好处,由 ...

  6. (转)盒子概念和DiV布局

    CSS盒子和DIV布局 (2013-11-24 16:17:29) 转载▼ 一.认识div层 1.<DIV>标记是一个区块容器标记,在标记之间可以放置其他一些HTML元素,例如p,h1,t ...

  7. React 实践项目 (五)

    React在Github上已经有接近70000的 star 数了,是目前最热门的前端框架.而我学习React也有一段时间了,现在就开始用 React+Redux 进行实战! React 实践项目 (一 ...

  8. mybatis入门介绍二

    相信看过我的上一篇博客的同学都已经对mybatis有一个初步的认识了.这篇博客主要是对mybatis的mapper代理做一下简单的介绍,希望能够帮助大家共同学习. 我的上一篇博客:mybatis入门介 ...

  9. 13. leetcode 453. Minimum Moves to Equal Array Elements

    Given a non-empty integer array of size n, find the minimum number of moves required to make all arr ...

  10. Linux入门基础知识

    注:内容系兄弟连Linux教程(百度传课:史上最牛的Linux视频教程)的学习笔记. Linux入门基础知识 1. Unix和Linux发展历史 二者就像父子关系,当然Unix是老爹.1965年,MI ...