JavaScript对象遍历
一、对象是数组:
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对象遍历的更多相关文章
- 快速学习javascript对象-遍历对象
为了方便了解每个javascript对象包含的方法,我写一个函数. function GetCollection(obj){ try{ if(obj){ var sType=""; ...
- JavaScript对象遍历属性和值
原文链接:http://caibaojian.com/javascript-object-3.html 加入你输出来一个对象,但是苦于不知道里面有哪些属性和值,这个时候,你可以通过下面的代码来遍历这个 ...
- javascript笔记整理(对象遍历封装继承)
一.javascript对象遍历 1.javascript属性访问 对象.属性名 对象['属性名'] var obj={name:'chen',red:function(){ alert(1);ret ...
- 遍历 JSON JavaScript 对象树中的所有节点
我想要遍历 JSON 对象树中,但为何找不到任何一间图书馆.这似乎是不难,但感觉就像重新发明轮子. 在 XML 中有很多教程演示如何遍历 XML DOM 树:( 解决方法 1: 如果你认为 jQuer ...
- javascript客户端遍历控件与获取父容器对象
javascript客户端遍历控件与获取父容器对象示例代码 1,遍历也面中所有的控件function findControlAll() { var inputs=document. ...
- JavaScript对象---递归遍历对象
JavaScript 中的所有事物都是对象:字符串.数值.数组.函数... 此外,JavaScript 允许自定义对象. JavaScript 对象 JavaScript 提供多个内建对象,比如 St ...
- JavaScript中遍历数组和对象的方法
js数组遍历和对象遍历 针对js各种遍历作一个总结分析,从类型用处,分析数组和对象各种遍历使用场景,优缺点等 JS数组遍历: 1,普通for循环,经常用的数组遍历 var arr = [1,2,0,3 ...
- 简述JavaScript对象、数组对象与类数组对象
问题引出 在上图给出的文档中,用JavaScript获取那个a标签,要用什么办法呢?相信第一反应一定是使用document.getElementsByTagName('a')[0]来获取.同样的,在使 ...
- 深入理解javascript对象系列第二篇——属性操作
× 目录 [1]查询 [2]设置 [3]删除[4]继承 前面的话 对于对象来说,属性操作是绕不开的话题.类似于“增删改查”的基本操作,属性操作分为属性查询.属性设置.属性删除,还包括属性继承.本文是对 ...
随机推荐
- Linux下搭建FTP服务器(Ubuntu16.04)
搞了下FTP服务器,基本上能遇到的问题都遇到了-.-! 先说步骤: 1.安装vsftpd软件包 sudo apt-get install vsftpd 2.打开配置文件 vim /etc/vsftpd ...
- .net 爬虫框架技术选型
个人认为爬虫框架分抓取框架和分析框架 1)抓取框架 .net 市面上好的似乎不多,选择要素分两种:1.轻量型,2.重量型. 1. 轻量型是可以定制一些特殊的功能或者插件开关形式.总体性能高,速度快. ...
- 支持苹果IPV6 ONLY 的socket 修改方法
首先别错误理解以为app 必须支持 ipv6 的服务端, 只需要支持 ipv6的客户端需要访问 ipv4 的服务端. 目前需要经过 NAT64 转换就能达到目的,客户端只需要支持该转换就能实现, 在 ...
- docker~docker-compose和VS解决方案的关系
回到目录 一般地,我们在VS里添加了一个解决方案之后,会更新模块或者业务添加多个api,web项目,这类似于最近说的微服务,而我们的docker-compose与微软件正好有了一种默契,当你为你的解决 ...
- IDEA+Java:Selenium+Maven+TestNG基本WebUI自动化测试环境搭建
IDEA+java:Selenium+Maven+TestNG 本文介绍的测试环境,应该是最基本的测试环境了,也是很多文章都有写,这里做一个完整的图文配置整理,方便阅读理解! 使用maven的好处,由 ...
- (转)盒子概念和DiV布局
CSS盒子和DIV布局 (2013-11-24 16:17:29) 转载▼ 一.认识div层 1.<DIV>标记是一个区块容器标记,在标记之间可以放置其他一些HTML元素,例如p,h1,t ...
- React 实践项目 (五)
React在Github上已经有接近70000的 star 数了,是目前最热门的前端框架.而我学习React也有一段时间了,现在就开始用 React+Redux 进行实战! React 实践项目 (一 ...
- mybatis入门介绍二
相信看过我的上一篇博客的同学都已经对mybatis有一个初步的认识了.这篇博客主要是对mybatis的mapper代理做一下简单的介绍,希望能够帮助大家共同学习. 我的上一篇博客:mybatis入门介 ...
- 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 ...
- Linux入门基础知识
注:内容系兄弟连Linux教程(百度传课:史上最牛的Linux视频教程)的学习笔记. Linux入门基础知识 1. Unix和Linux发展历史 二者就像父子关系,当然Unix是老爹.1965年,MI ...